Started 1 yr 2 mo ago

Unstable Build #114 (Mar 21, 2011 12:05:12 AM)

Build Artifacts
Changes
  1. Bring back per-target jmpbuf size in all its gory..
    at least for now.. (
    detail)
  2. blow up CONTEXT in size slightly to workaround apparent Windows bug -- otherwise GetThreadContext fails when using pageheap (on Server 2008 R2 AMD64) (detail)
  3. Initial checkin of Greg Nelson's Simplify theorem prover, used by
    the Modula-3 Extended Static Checker, the Java Extended Static
    Checker, and other programs.

    I have verified that the code builds and runs under CM3 but I haven't
    yet adjusted the build system to incorporate the code.

    It's in the ESC subdirectory in the hope that HP will release the
    rest of ESC soon.

    Copyrights in the files may be misleading: all this code has long
    since been released by DEC/Compaq/HP.

    I downloaded it from sort.ucd.ie and made some very minor adjustments
    to get it to build with the current CM3. (detail)
  4. Documentation of ThreadPosix implementation as the light of
    understanding has finally shone on me and I wish to put down my
    observations for posterity.

    Also an implementation of catching of SEGV and conversion into a
    RuntimeError instead.  Mechanism is documented in ThreadPosix.m3:
    it is a hybrid of the SIGCHLD handling and what ThreadPosix already
    does to produce Thread.Alerted on a wake-up.  Mechanism has been
    tested and appears to work: the former behavior was to quit execution
    unconditonally; now it is instead a catcheable exception. (detail)
  5. Initial checkin of Greg Nelson's Simplify theorem prover, used by
    the Modula-3 Extended Static Checker, the Java Extended Static
    Checker, and other programs.

    I have verified that the code builds and runs under CM3 but I haven't
    yet adjusted the build system to incorporate the code.

    It's in the ESC subdirectory in the hope that HP will release the
    rest of ESC soon.

    Copyrights in the files may be misleading: all this code has long
    since been released by DEC/Compaq/HP.

    I downloaded it from sort.ucd.ie and made some very minor adjustments
    to get it to build with the current CM3. (detail)
  6. different Modula-3 compilers use different syntax for build_standalone; as this program is a test, not a part of the compiler, it is useful for it to be compilable on all. (detail)
  7. remove one space (detail)
  8. reset reader and writer positions (avoids overflows on systems with small integers for the position of readers and writers) (detail)
  9. minor spacing/alignment improvement for thread starved message (detail)
  10. build with overrides OK (detail)
  11. Add new "-verbose" command line option that shows thread loop counts each iteration and also explicitly notifies if thread starvation or deadlock is detected.
    Added pp.finish() to check for any unparsed command line options. (detail)
  12. clean up and fix minor bug from earlier cleanup that made innocuous failures (e.g., of fgrep) fatal. (detail)
  13. add a little sleep clone, that also works on Windows,
    for m3core/tests/thread to use (detail)
  14. parallel back-end builds.

    To enable, use -pb <n> flag, with n up to about ten (10) times the number of processors available, or set M3_PARALLEL_BACK in config files.

    Any change in behavior relative to earlier versions with n = 1 (the default) would constitute a bug. (detail)
  15. Allow threads in state "pausing" to be woken up by signals,
    specifically, SIGCHLD, and use the mechanism for allowing Process.Wait
    to wake up instantly without busy-waiting.  Follows design notes as
    published on the Modula-3 development mailing list, including care to
    ensure signal handlers aren't nested unnecessarily. (detail)
  16. remove incorrect comments; Win32 is not broken (detail)
  17. add ValueOfSIGSEGV: get value of SIGSEGV C header constant out in Modula-3 environment (detail)
  18. blow up CONTEXT in size slightly to workaround apparent Windows bug -- otherwise GetThreadContext fails when using pageheap (on Server 2008 R2 AMD64) -- this time really as intended -- rounding up to 0x300 bytes, from current 0x2CC, really, this time, instead of adding 0x300 (detail)
  19. remove dependency on external program "sleep"
    instead call Params.Get(0) with argument -sleep (detail)
  20. revert this, with a comment that the signal handler gets overridden: this will make the signal print a message and crash under pthreads and raise a RuntimeError.E exception under user ("POSIX") threads now, as desired. (detail)
  21. build_standalone (detail)
  22. Missed the second use of Unix sleep in last commit (detail)
  23. remove CVS Ids in keeping with CM3 repository practice (detail)
  24. change newlines to Wr.EOL to remove further OS dependencies (detail)
  25. Add Jay's m3sleep program to the package list so it gets built.  I listed it under the "core" group.  Not sure if this is best or only group it should be in, so feel free to change if needed.--R.Coleburn (detail)
  26. whitespace only (detail)
  27. made sets of tests be in all caps.  Three sets are provided

       ALL    =  all tests coded in the program (including ones that legitimately misbehave)
       STD    =  all tests that "should work" without obvious misbehavior
       POSIX  =  STD,-lock (user threads may legitimately have fairness issues) (detail)
  28. This seems to work on NT, excep that PutCard is getting negative times.
    Is that ok?
    Change it to PutInt. (detail)
  29. current TextReader from Caltech/Generation Capital repository, with bug fixes and enhancements (detail)
  30. reduce DisableScheduling/EnablingScheduling window microscopically (detail)
  31. work in progress: update interlocked support (detail)
  32. blow up CONTEXT in size slightly to workaround apparent Windows bug -- otherwise GetThreadContext fails when using pageheap (on Server 2008 R2 AMD64) -- this time really as intended -- rounding up to 0x300 bytes, from current 0x2CC (detail)
  33. when pthread_*_init, pthread_mutex_destroy, pthread_mutex_lock,
    pthread_mutex_unlock fail, fprintf to stderr and abort

    Possibly ENOMEM should be handled differently -- raise an exception.

    Currently, with Mika's threadtest, on Darwin, we get a fair number
    of EBUSY and EINVAL in these parts. And there are so many threads,
    that we get more stuff between the fprintf and the abort. (detail)
  34. bring InitialPages, MinNewPages back down to 256K, since
    page size was grown to 64K across the board (detail)
  35. Add support for the QMachine to be able to record (certain) Process.Creates as "promises" rather than executing them on the fly.

    The purpose of this modification is to allow parallelization of the CM3 compiler.  The vast majority of the runtime of the compilation of a typical Modula-3 program is spent in the part "promised" here (when using the GCC backend). (detail)
  36. Oops. (detail)
  37. Revert to original (more meaningful names). (detail)
  38. Reword comment. Win32 isn't broken -- as in the Windows OS,
    but indeed the Modula-3 implementation here is completely broken
    and likely doesn't do anything at all, except attempt to kill
    a random process and raise an exception if that fails
    (random as in possibly nonexistant, possibly another unrelated
    process, or just barely possibly, the intended process.) (detail)
  39. Blow up SOLsun jmpbuf back to 76 bytes as in recent release,
    instead of 48 bytes. Perhaps that will fix Solaris 2.9.
    2.10 has been ok. (detail)

Started by upstream project cm3-current-build-I386_SOLARIS-opencsw-current10x build number 153

Test Result (5 failures / ±0)Show all failed tests >>>