From wagner at elego.de Tue Sep 1 01:49:50 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 1:49:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090831234950.E92B02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 01:49:50 Added files: cm3/m3-sys/m3tests/src/p2/p213/: Tag: release_branch_cm3_5_8 Main.m3 Log message: add missing file From wagner at elego.de Tue Sep 1 07:41:22 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 7:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901054122.69B98CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 07:41:22 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh version Log message: move default version to pre-RC4 From hosking at elego.de Tue Sep 1 18:14:22 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 1 Sep 2009 18:14:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901161422.C9BE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/01 18:14:22 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Main.m3 Log message: Cleanup synchronization. There should be no races now. From hosking at elego.de Tue Sep 1 18:14:47 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 1 Sep 2009 18:14:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901161447.7E8752474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/01 18:14:47 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: stderr.pgm Log message: Output changed slightly. From wagner at elego.de Tue Sep 1 21:21:51 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 21:21:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901192152.06A1E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 21:21:51 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: heed DS from environment, set VERSION and CM3VERSION for RCs From wagner at elego.de Wed Sep 2 08:13:08 2009 From: wagner at elego.de (Olaf Wagner) Date: Wed, 2 Sep 2009 8:13:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090902061309.17F232474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/02 08:13:08 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 update-releng-index.sh Log message: better exclude non-RC archives From wagner at elego.de Wed Sep 2 19:12:13 2009 From: wagner at elego.de (Olaf Wagner) Date: Wed, 2 Sep 2009 19:12:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090902171213.8986A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/02 19:12:13 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 known-problems.html Log message: update known problems for RC3 From jkrell at elego.de Thu Sep 3 17:55:42 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 17:55:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903155543.023632474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 17:55:42 Modified files: cm3/: m3overrides Log message: add pkl-fonts From jkrell at elego.de Thu Sep 3 17:56:53 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 17:56:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903155653.4D3AB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 17:56:53 Modified files: cm3/m3-ui/juno-2/juno-app/src/: m3overrides Log message: remove build_standalone -- just use the one global m3overrides file From jkrell at elego.de Thu Sep 3 18:05:46 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:05:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903160546.4DC7B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:05:46 Modified files: cm3/m3-ui/juno-2/juno-compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/lexer/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/parser/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/scope/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/linear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/nonlinear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/runtime/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/solve/src/: m3overrides Log message: use one central m3overrides file From jkrell at elego.de Thu Sep 3 18:14:53 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:14:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903161453.B28CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:14:53 Modified files: cm3/: m3overrides Log message: add EyesVBT -- perhaps there should be some intermediate m3overrides, since this is only used by a little test code From jkrell at elego.de Thu Sep 3 18:19:19 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:19:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903161919.504652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:19:19 Modified files: cm3/m3-ui/PEX/src/: m3overrides cm3/m3-ui/X11R4/src/: m3overrides cm3/m3-ui/images/src/: m3overrides cm3/m3-ui/juno-2/juno-app/pkl-fonts/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/src/: m3overrides cm3/m3-ui/jvideo/src/: m3overrides cm3/m3-ui/m3zume/src/: m3overrides cm3/m3-ui/mg/src/: m3overrides cm3/m3-ui/mgkit/src/: m3overrides cm3/m3-ui/motif/src/: m3overrides cm3/m3-ui/opengl/src/: m3overrides cm3/m3-ui/ui/src/: m3overrides cm3/m3-ui/ui/test/Argus/src/: m3overrides cm3/m3-ui/ui/test/BadBricks/src/: m3overrides cm3/m3-ui/ui/test/ButtonTest/src/: m3overrides cm3/m3-ui/ui/test/Cards/src/: m3overrides cm3/m3-ui/ui/test/ColorMonster/src/: m3overrides cm3/m3-ui/ui/test/Draw/src/: m3overrides cm3/m3-ui/ui/test/EyesVBT/src/: m3overrides cm3/m3-ui/ui/test/Hello/src/: m3overrides cm3/m3-ui/ui/test/Monster/src/: m3overrides cm3/m3-ui/ui/test/Sketch2/src/: m3overrides cm3/m3-ui/ui/test/StarAnim/src/: m3overrides cm3/m3-ui/ui/test/Track/src/: m3overrides cm3/m3-ui/ui/test/TypeInTest/src/: m3overrides cm3/m3-ui/vbtkit/src/: m3overrides cm3/m3-ui/videovbt/src/: m3overrides cm3/m3-ui/webvbt/src/: m3overrides cm3/m3-ui/zeus/src/: m3overrides Log message: use one central m3overrides file plus some unusual content in m3-ui/zeus/src/m3overrides From jkrell at elego.de Fri Sep 4 04:43:12 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 4:43:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904024313.3A355CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 04:43:12 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: remove unused parameter From hosking at elego.de Fri Sep 4 05:32:52 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 4 Sep 2009 5:32:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904033252.89BDE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/04 05:32:51 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Don't hack thread.inCritical unnecessarily. Just make sure this thread is not inCritical when acquiring/releasing the heap lock. From hosking at elego.de Fri Sep 4 05:36:35 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 4 Sep 2009 5:36:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904033635.52E422474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/04 05:36:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Keep the unused parameter to Move. We are going to use it soon for concurrent movers. From jkrell at elego.de Fri Sep 4 08:42:59 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 8:42:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904064259.A7E05CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 08:42:59 Added files: cm3/scripts/examples/: make-compiler.cmd make-juno.cmd Log message: examples From jkrell at elego.de Fri Sep 4 09:43:18 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:43:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074319.551C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:43:17 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: my buildin of Juno was inadvertantly using preexisting stubgen, m3bundle, etc. so add more packages here, NOT experimentally derived or verified, but approximate/guessing and I got it working eventually (running/crashing, not fixed the bug yet..) From jkrell at elego.de Fri Sep 4 09:44:04 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:44:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074404.71A77CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:44:04 Modified files: cm3/scripts/examples/: make-compiler.cmd make-juno.cmd Log message: a little flexibility From jkrell at elego.de Fri Sep 4 09:44:45 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:44:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074445.28C512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:44:45 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: fix formating (indents should be a multiple of 4) From jkrell at elego.de Fri Sep 4 09:52:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:52:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904075247.6D1202474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:52:46 Modified files: cm3/scripts/examples/: make-juno.cmd make-compiler.cmd Log message: fix From jkrell at elego.de Fri Sep 4 10:05:38 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 10:05:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904080538.C00BF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 10:05:38 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: fix order From jkrell at elego.de Fri Sep 4 12:03:58 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:03:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904100358.6AF682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:03:58 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: go back a version to keep assertions in RTCollector.m3 succeeding From jay.krell at cornell.edu Fri Sep 4 12:01:33 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 4 Sep 2009 10:01:33 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090904033252.89BDE2474001@birch.elegosoft.com> References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: This breaks things badly. I'm going to undo it. *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 1430 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 2253 *** Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common\RTCollector.m3 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common\RTCollector.m3 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common\RTCollector.m3 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3 ......... ......... ... more frames ... - Jay > Date: Fri, 4 Sep 2009 05:32:52 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/04 05:32:51 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Don't hack thread.inCritical unnecessarily. Just make sure this thread is not > inCritical when acquiring/releasing the heap lock. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Sep 4 12:24:07 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:24:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102408.045FB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:24:07 Modified files: cm3/m3-sys/m3quake/src/: MxConfig.i3 MxConfig.m3 QMachine.i3 QMachine.m3 Log message: changes from release branch -- tracing From jkrell at elego.de Fri Sep 4 12:25:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:25:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102526.77D0F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:25:26 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Makefile.m3 Log message: changes from release branch: tracing, root export, fix unresolve, remove debug output, restore printing target From jkrell at elego.de Fri Sep 4 12:26:39 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:26:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102639.B83E7CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:26:39 Modified files: cm3/m3-sys/cm3/src/: Tag: release_branch_cm3_5_8 Main.m3 Log message: change from head -- remove some predefines that are fairly new From hosking at cs.purdue.edu Fri Sep 4 15:14:49 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 4 Sep 2009 09:14:49 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: Umm. That assertion should never fail. I put it in to make sure we weren't totally broken in the threads system. (One should never have a negative thread.inCritical value, and that check makes sure the DEC on the next line is correct. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: > This breaks things badly. > I'm going to undo it. > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 1430 > *** > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 2253 > *** > Stack trace: > FP PC Procedure > --------- --------- ------------------------------- > 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common > \RTCollector.m3 > 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common > \RTCollector.m3 > 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common > \RTCollector.m3 > 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common > \RTHeapMap.m3 > ......... ......... ... more frames ... > > > - Jay > > > > Date: Fri, 4 Sep 2009 05:32:52 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/04 05:32:51 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Don't hack thread.inCritical unnecessarily. Just make sure this > thread is not > > inCritical when acquiring/releasing the heap lock. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Fri Sep 4 15:20:03 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 4 Sep 2009 13:20:03 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: Maybe it is merely 0? This breaks things right away -- can't build the compiler, not related to Juno investigation. - Jay CC: hosking at elego.de; m3commit at elegosoft.com From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Subject: Re: [M3commit] CVS Update: cm3 Date: Fri, 4 Sep 2009 09:14:49 -0400 Umm. That assertion should never fail. I put it in to make sure we weren't totally broken in the threads system. (One should never have a negative thread.inCritical value, and that check makes sure the DEC on the next line is correct. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: This breaks things badly. I'm going to undo it. *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 1430 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 2253 *** Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common\RTCollector.m3 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common\RTCollector.m3 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common\RTCollector.m3 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3 ......... ......... ... more frames ... - Jay > Date: Fri, 4 Sep 2009 05:32:52 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/04 05:32:51 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Don't hack thread.inCritical unnecessarily. Just make sure this thread is not > inCritical when acquiring/releasing the heap lock. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Fri Sep 4 19:31:18 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 4 Sep 2009 13:31:18 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: OK, I think I have diagnosed the problem, which also explains my lockups on mentor on I386_DARWIN. Fix incoming... Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: > This breaks things badly. > I'm going to undo it. > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 1430 > *** > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 2253 > *** > Stack trace: > FP PC Procedure > --------- --------- ------------------------------- > 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common > \RTCollector.m3 > 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common > \RTCollector.m3 > 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common > \RTCollector.m3 > 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common > \RTHeapMap.m3 > ......... ......... ... more frames ... > > > - Jay > > > > Date: Fri, 4 Sep 2009 05:32:52 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/04 05:32:51 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Don't hack thread.inCritical unnecessarily. Just make sure this > thread is not > > inCritical when acquiring/releasing the heap lock. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sat Sep 5 18:09:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 5 Sep 2009 18:09:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090905160929.A10CCCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/05 18:09:29 Added files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: repeating this exercise on I386_DARWIN.. From jkrell at elego.de Sat Sep 5 18:24:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 5 Sep 2009 18:24:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090905162404.DA07C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/05 18:24:04 Modified files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: initial untested versions From jkrell at elego.de Sun Sep 6 12:42:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 12:42:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906104256.D7325CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 12:42:56 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: enough to start building m3cc From jkrell at elego.de Sun Sep 6 12:59:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 12:59:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906105942.08428CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 12:59:42 Modified files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: some steps forward From jkrell at elego.de Sun Sep 6 13:04:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:04:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906110405.8AE9DCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:04:05 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround buggy text, odd that I didn't see this on NT From jkrell at elego.de Sun Sep 6 13:15:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:15:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906111551.36791CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:15:51 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround buggy text, the consistency here is expected and good From jkrell at elego.de Sun Sep 6 13:26:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:26:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906112653.5E682CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:26:50 Modified files: cm3/scripts/examples/: make-juno.sh make-compiler.sh Log message: fix newlines, add missing X11 package, make success clearer; they both work now From jkrell at elego.de Sun Sep 6 14:45:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 14:45:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906124517.D11C7CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 14:45:16 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: adapt to older trees that want GNU_CC and GNU_CFLAGS on the config file, whereas current config files do not define them will also need to adapt to older trees whose libm3 has a list of targets in it, or maybe we'll just patch that or maybe this current investigation can make do without versions with that bug From jkrell at elego.de Sun Sep 6 15:26:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:26:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906132604.92220CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:26:04 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: In order to build older libm3 with a bad dependency on cm3, copy m3core and libm3 from boot and don't build them for the first stage. Since sysutils has a history of dependending on contemporary m3core, copy it too. Since older cm3cg is broken in a way I haven't debugged, slow to build, and not relevant to current investigation, don't build it. From jkrell at elego.de Sun Sep 6 15:39:35 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:39:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906133935.DD8A9CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:39:35 Added files: cm3/doc/notes/: building-old.txt Log message: Some notes on building/running old trees. From jkrell at elego.de Sun Sep 6 15:39:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:39:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906133955.2BDB8CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:39:55 Modified files: cm3/doc/notes/: building-old.txt Log message: and a bug noted that should go in trac From jkrell at elego.de Sun Sep 6 17:32:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 17:32:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906153251.000EE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 17:32:50 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround some sort of overflow in older compilers related to the GetM3Back function -- assuming native builds From hosking at elego.de Tue Sep 8 07:54:58 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 7:54:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908055458.ADC55247400B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 07:54:58 Modified files: cm3/m3-libs/m3core/src/convert/: CConvert.m3 cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 RTCollector.m3 RTCollectorSRC.i3 RTHeapInfo.m3 RTHeapRep.i3 RTHeapRep.m3 RTHeapStats.m3 RTLinker.m3 RTOS.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: Tidy up use of thread.inCritical to only occur in allocation sequences and in thread stoppage. This simplifies reasoning. Refactored use of heap lock in the process. This may be better implemented on PTHREAD targets using a recursive pthread mutex instead of one we roll ourselves from a non-recursive mutex. Still witnessing random hangs in Juno and mentor on I386_DARWIN. Strange, I thought this was working previously. I wonder if there is some sort of race in the GUI code somewhere? From jkrell at elego.de Tue Sep 8 10:39:22 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 10:39:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908083922.326BDCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 10:39:22 Modified files: cm3/m3-libs/m3core/src/unix/Common/: m3unix.h Upthread.c cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: RTMachineC.c Log message: convert properly between the Modula-3 notion of pthread_t -- void* -- and the possibly different native pthread_t, which might be int or size_t or another pointer type Unfortunately this doesn't actually fix anything. Darwin pthread_t is in fact a pointer, so void* was definitely close enough. From jkrell at elego.de Tue Sep 8 12:20:04 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 12:20:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908102004.27BA6CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 12:20:04 Removed files: cm3/m3-libs/m3core/src/runtime/common/: RTThreadInit.i3 Log message: delete unused file From jkrell at elego.de Tue Sep 8 13:05:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:05:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110541.BCFE92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:05:41 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadInternal.i3 Log message: fix it to compile; Juno on NT still crashes From jkrell at elego.de Tue Sep 8 13:08:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:08:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110839.0FB9F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:08:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 Log message: fix it to compile From jkrell at elego.de Tue Sep 8 13:09:16 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:09:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110916.338962474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:09:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 Log message: fix it to compile From jkrell at elego.de Tue Sep 8 13:16:27 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:16:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908111627.AB3A92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:16:27 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: add UNSAFE here so it compiles; maybe MyId should be moved to Thread or ThreadF split into ThreadF and ThreadUnsafeF? From jay.krell at cornell.edu Tue Sep 8 13:41:59 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 11:41:59 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090908055458.ADC55247400B@birch.elegosoft.com> References: <20090908055458.ADC55247400B@birch.elegosoft.com> Message-ID: Tony did you mean to alter Init1/Init2 in RTCollector like this? Reversing the order, perhaps breaking paranoidgc, perhaps breaking user threads? user threads are broken, but I had tried them in month. I was just trying them to see if they worked better.. Maybe you were out of date and mismerged? The removal of the thread parameter to LockHeap..you had added that not too long ago, but removing it deliberate? I don't think the Juno hang is GUI related. The problematic threads I think are just dealing with the non-GUI libm3/formater thing. Not certain though. - Jay > Date: Tue, 8 Sep 2009 07:54:58 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 07:54:58 > > Modified files: > cm3/m3-libs/m3core/src/convert/: CConvert.m3 > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > RTCollector.m3 > RTCollectorSRC.i3 > RTHeapInfo.m3 > RTHeapRep.i3 > RTHeapRep.m3 > RTHeapStats.m3 > RTLinker.m3 RTOS.i3 > cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 > cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 > > Log message: > Tidy up use of thread.inCritical to only occur in allocation sequences and in > thread stoppage. This simplifies reasoning. Refactored use of heap lock > in the process. This may be better implemented on PTHREAD targets using a > recursive pthread mutex instead of one we roll ourselves from a non-recursive > mutex. > > Still witnessing random hangs in Juno and mentor on I386_DARWIN. > Strange, I thought this was working previously. > I wonder if there is some sort of race in the GUI code somewhere? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 8 14:10:42 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 14:10:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908121042.A4014CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 14:10:42 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: go back a version, will restore ThreadF to being safe From jkrell at elego.de Tue Sep 8 14:12:55 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 14:12:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908121255.38A7BCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 14:12:55 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: ThreadEvent.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadEvent.i3 ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadEvent.i3 ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadEvent.i3 ThreadF.i3 ThreadInternal.i3 ThreadWin32.m3 Added files: cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 Log message: restore ThreadF to being safe From hosking at elego.de Tue Sep 8 17:01:33 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 17:01:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908150133.BF399CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 17:01:33 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: Let's not log internally. From hosking at elego.de Tue Sep 8 17:16:19 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 17:16:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908151619.97ABA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 17:16:19 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadInternal.i3 ThreadWin32.m3 Log message: Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. From jay.krell at cornell.edu Tue Sep 8 18:02:51 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 16:02:51 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090908151619.97ABA2474003@birch.elegosoft.com> References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: Really? Isn't it considerably safer to have a function declaration list the actual type instead of requiring all the callers to cast? I left ThreadF safe and I think I left it all much better than this. Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs to specific types than a bunch of ADDRESSes. - Jay > Date: Tue, 8 Sep 2009 17:16:19 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 17:16:19 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > ThreadInternal.i3 > ThreadWin32.m3 > > Log message: > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Tue Sep 8 18:09:55 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 8 Sep 2009 12:09:55 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: ThreadF is still safe for the world. Any module that imports ThreadF for the purposes of using MyHeapState is going to need to be unsafe anyway, so forcing it to cast (unsafe anyway) is no big deal. MyHeapState is used only by the allocator. To be perfectly honest, I would have no problem making ThreadF UNSAFE since it has so much dangerous stuff in it. But leaving it safe keeps it they way it has always been. On 8 Sep 2009, at 12:02, Jay K wrote: > Really? Isn't it considerably safer to have a function declaration > list the actual type instead of requiring all the callers to cast? > I left ThreadF safe and I think I left it all much better than this. > Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs > to specific types than a bunch of ADDRESSes. > > - Jay > > > > Date: Tue, 8 Sep 2009 17:16:19 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/08 17:16:19 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > > ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > > ThreadInternal.i3 > > ThreadWin32.m3 > > > > Log message: > > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. > Fixed now, which allows me > > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Tue Sep 8 18:12:40 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 16:12:40 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: I agree making ThreadF unsafe isn't worthwhile -- it has a safe subset e.g. MyId and changing it breaks too much -- there was another break besides "debug", I think commandrw, at which point I rethought. But I think moving the new/potentially unsafe part to ThreadUnsafe is better, so the users of MyHeapState, while still unsafe, don't have to presume and perhaps get incorrect the type. Again, I think there are degrees of unsafety and I'd rather see an UNTRACED REF to a specific type than an address, as I had left it. - Jay CC: hosking at elego.de; m3commit at elegosoft.com From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Subject: Re: [M3commit] CVS Update: cm3 Date: Tue, 8 Sep 2009 12:09:55 -0400 ThreadF is still safe for the world. Any module that imports ThreadF for the purposes of using MyHeapState is going to need to be unsafe anyway, so forcing it to cast (unsafe anyway) is no big deal. MyHeapState is used only by the allocator. To be perfectly honest, I would have no problem making ThreadF UNSAFE since it has so much dangerous stuff in it. But leaving it safe keeps it they way it has always been. On 8 Sep 2009, at 12:02, Jay K wrote:Really? Isn't it considerably safer to have a function declaration list the actual type instead of requiring all the callers to cast? I left ThreadF safe and I think I left it all much better than this. Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs to specific types than a bunch of ADDRESSes. - Jay > Date: Tue, 8 Sep 2009 17:16:19 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 17:16:19 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > ThreadInternal.i3 > ThreadWin32.m3 > > Log message: > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Tue Sep 8 18:21:19 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 8 Sep 2009 12:21:19 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: <518B77E2-2351-463B-B2DF-DC8BB92D9D43@cs.purdue.edu> If it really bothers you then we can clean it up, but again, ThreadF is really a private interface and the only client of MyHeapState, RTAllocator.m3, is *very* *carefully* written. On 8 Sep 2009, at 12:12, Jay K wrote: > I agree making ThreadF unsafe isn't worthwhile -- it has a safe > subset e.g. MyId and changing it breaks too much -- there was > another break besides "debug", I think commandrw, at which point I > rethought. > But I think moving the new/potentially unsafe part to ThreadUnsafe > is better, so the users of MyHeapState, while still unsafe, don't > have to presume and perhaps get incorrect the type. Again, I think > there are degrees of unsafety and I'd rather see an UNTRACED REF to > a specific type than an address, as I had left it. > > - Jay > > > CC: hosking at elego.de; m3commit at elegosoft.com > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Subject: Re: [M3commit] CVS Update: cm3 > Date: Tue, 8 Sep 2009 12:09:55 -0400 > > ThreadF is still safe for the world. Any module that imports > ThreadF for the purposes of using MyHeapState is going to need to be > unsafe anyway, so forcing it to cast (unsafe anyway) is no big > deal. MyHeapState is used only by the allocator. To be perfectly > honest, I would have no problem making ThreadF UNSAFE since it has > so much dangerous stuff in it. But leaving it safe keeps it they > way it has always been. > > On 8 Sep 2009, at 12:02, Jay K wrote: > > Really? Isn't it considerably safer to have a function declaration > list the actual type instead of requiring all the callers to cast? > I left ThreadF safe and I think I left it all much better than this. > Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs > to specific types than a bunch of ADDRESSes. > > - Jay > > > > Date: Tue, 8 Sep 2009 17:16:19 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/08 17:16:19 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > > ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > > ThreadInternal.i3 > > ThreadWin32.m3 > > > > Log message: > > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. > Fixed now, which allows me > > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 8 18:41:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 18:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908164139.467012474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 18:41:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: back from ThreadF to ThreadUnsafe to we can remove some casts might be good to generally move ThreadF to Thread and ThreadUnsafe? or likely not worth the breaking of the existing ThreadF clients outside m3core From hosking at elego.de Fri Sep 11 07:58:40 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 11 Sep 2009 7:58:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911055841.0B1DC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/11 07:58:40 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Log message: Added pthread_cond_timedwait and pthread_cond_broadcast. From jkrell at elego.de Fri Sep 11 14:23:20 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 14:23:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911122320.E009F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 14:23:20 Modified files: cm3/scripts/python/: pylib.py Log message: better autoconfiguration on Windows, some added comments, some changed style of comments From jkrell at elego.de Fri Sep 11 14:34:07 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 14:34:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911123407.7C11C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 14:34:07 Added files: cm3/scripts/win/: setup.cmd Log message: bring over file from release branch From jkrell at elego.de Fri Sep 11 15:36:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 15:36:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911133605.795F32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 15:36:05 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: don't print an error deleting nonexistant file From jkrell at elego.de Fri Sep 11 16:07:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 16:07:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911140744.2A0902474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 16:07:43 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: delete setup.txt in the loop so it doesn't keep accumulating From jkrell at elego.de Fri Sep 11 16:51:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 16:51:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911145135.4974E2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 16:51:33 Modified files: cm3/scripts/python/: pylib.py make-dist.py Log message: move license directory creation to InstallLicense function From jkrell at elego.de Fri Sep 11 17:03:48 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:03:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150349.9D1112474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:03:48 Modified files: cm3/scripts/python/: pylib.py make-dist.py Log message: move more of license directory creation to InstallLicense function and use a simple statement in the installer based on the toplevel README in the source tree From jkrell at elego.de Fri Sep 11 17:04:34 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:04:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150435.75CB12474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:04:34 Added files: cm3/scripts/python/: make-msi.py Log message: initial copy of make-msi.py from make-dist.py From jkrell at elego.de Fri Sep 11 17:09:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:09:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150942.E170D2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:09:42 Modified files: cm3/scripts/python/: pylib.py Log message: fix indent, it matters (copy/paste error) From jkrell at elego.de Fri Sep 11 17:10:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:10:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911151044.012F82474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:10:43 Modified files: cm3/scripts/python/: make-msi.py Log message: initial real version: cut it way down, add command line parsing, usage From jkrell at elego.de Fri Sep 11 17:32:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:32:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153242.6F6222474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:32:42 Modified files: cm3/scripts/python/: make-msi.py pylib.py Log message: some small fixes to msi creation and license install (such as actually install the licenses before making the msi) From jkrell at elego.de Fri Sep 11 17:37:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:37:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153727.0E1112474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:37:26 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:38:59 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:38:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153859.9BCD32474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:38:59 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 do-cm3-caltech-parser.py make-dist.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:39:21 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:39:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153922.1B37C2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:39:21 Added files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 make-msi.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:40:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:40:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911154026.36D562474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:40:26 Added files: cm3/scripts/python/: make-dist-cfg.py Log message: merge from release From jkrell at elego.de Fri Sep 11 17:43:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:43:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911154333.308B52474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:43:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: initial attempt at .msi creation From jkrell at elego.de Fri Sep 11 18:13:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 18:13:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911161346.CC9352474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 18:13:46 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix path to make-msi.py From jkrell at elego.de Fri Sep 11 18:39:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 18:39:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911163933.31DFE2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 18:39:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix if [ type to be if type From jkrell at elego.de Fri Sep 11 22:17:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:17:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911201730.67DDD2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:17:30 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix path to .msi file From jkrell at elego.de Fri Sep 11 22:29:27 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:29:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911202927.EC3632474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:29:27 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix .msi paths further; I think there's another problem though From jkrell at elego.de Fri Sep 11 22:38:28 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:38:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911203831.5474F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:38:28 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: general problem of too much stuff at global scope; workaround some of it (to address that make-msi.py is complaining about findstr against cm3.exe, cygwin path of cm3.exe being passed to win32 findstr) From jkrell at elego.de Fri Sep 11 22:39:04 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:39:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911203905.B931F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:39:04 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: put comments more firmly with their code From hosking at elego.de Fri Sep 11 22:48:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 11 Sep 2009 22:48:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911204841.582E12474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/11 22:48:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Mentor and Juno finally work on I386_DARWIN. ***Significant overhaul of thread alerting.*** Invariant now is that all waiting is done on the thread's own condition variable. This cleanly permits signals and alerts from any other thread. Need to set DISPLAY=:0.0 and xhost+ to get around problems with DISPLAY=/tmp/launch-XXXXXX/:0. From jkrell at elego.de Fri Sep 11 23:20:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 23:20:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911212056.084B62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 23:20:51 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: some accomodation for Python being Cygwin; mine is Win32, elego's is Cygwin; there are bugs but not (known) in Hudson/msi code (there were) From jkrell at elego.de Sat Sep 12 00:19:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:19:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911222000.AD4052474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:19:59 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: use ; for portable path list separator when possible -- start fixing the bugs that occur when cygwin Python tries to auotconfigure LIB and INCLUDE, but not done, ok From jkrell at elego.de Sat Sep 12 00:37:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:37:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911223703.52B2F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:37:03 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: deal more with path format issues, maybe all ok now? From jkrell at elego.de Sat Sep 12 00:39:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:39:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911223954.E96C72474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:39:54 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: remove hopefully out of date comment From jkrell at elego.de Sat Sep 12 00:43:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:43:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911224330.C5D6B2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:43:30 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: between os.path.pathsep and os.pathsep, alwayse use the shorter name os.pathsep, they are the same thing From jkrell at elego.de Sat Sep 12 00:45:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:45:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911224521.D5E812474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:45:21 Modified files: cm3/scripts/python/: pylib.py Log message: merge from release From jkrell at elego.de Sat Sep 12 19:24:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:24:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912172405.C19002474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:24:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: - wrap everything, it is a little safer - simplify and shrink rare error path instead of optimizing it for speed From jkrell at elego.de Sat Sep 12 19:52:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:52:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175222.87A1A2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:52:22 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: merge from release -- declare function to avoid warning From jkrell at elego.de Sat Sep 12 19:53:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:53:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175310.5208E2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:53:10 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c Log message: merge from release -- declare function to avoid warning From jkrell at elego.de Sat Sep 12 19:55:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:55:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175533.42E222474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:55:33 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: just minor word wrap of exports as part of merge with release From jkrell at elego.de Sat Sep 12 20:06:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:06:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912180610.28BAB2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:06:10 Added files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadUnsafe.i3 Log message: new file from head From jkrell at elego.de Sat Sep 12 20:15:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:15:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912181511.85E682474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:15:11 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 Log message: manual merge from head -- remove unsafe marker (though they do import the borderline ThreadF, but they only declare types, no functions) From jkrell at elego.de Sat Sep 12 20:19:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:19:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912181955.BD9882474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:19:55 Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadEvent.i3 Log message: remove unused files From jkrell at elego.de Sun Sep 13 02:28:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 2:28:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913002821.82EBA2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 02:28:20 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.i3 Log message: add one space for consistent formating From jkrell at elego.de Sun Sep 13 03:21:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:21:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012122.35B1A2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:21:21 Modified files: cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 Log message: remove unused import From jkrell at elego.de Sun Sep 13 03:26:45 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:26:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012645.38E522474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:26:44 Modified files: cm3/m3-libs/m3core/src/convert/: Tag: release_branch_cm3_5_8 CConvert.m3 cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTAllocator.m3 RTCollector.m3 RTCollectorSRC.i3 RTHeapInfo.m3 RTHeapRep.i3 RTHeapRep.m3 RTHeapStats.m3 RTLinker.m3 RTOS.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: Tag: release_branch_cm3_5_8 RTExFrame.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: Tag: release_branch_cm3_5_8 RTExStack.m3 cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadWin32.m3 cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Upthread.c Usocket.c Usocket.i3 m3unix.h cm3/m3-libs/m3core/src/unix/uin-common/: Tag: release_branch_cm3_5_8 Uin.i3 cm3/m3-libs/m3core/src/unix/uin-len/: Tag: release_branch_cm3_5_8 Uin.i3 Log message: merge head to release, making them nearly identical for m3core - Tony's thread fixes - add struct_sockaddr_un - just one set of socklen_t wrappers From jkrell at elego.de Sun Sep 13 03:29:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:29:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012904.C4C852474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:29:04 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 Log message: only fix newlines From hosking at elego.de Sun Sep 13 06:55:36 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 6:55:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913045536.4A1E7CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 06:55:36 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Retain saner code from before recent reworking of alert mechanisms. From hosking at elego.de Sun Sep 13 06:57:34 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 6:57:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913045735.2B1B9CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 06:57:34 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Rename AllocTraced to AllocCopy (RTAllocator.AllocTraced remains). From jkrell at elego.de Sun Sep 13 07:56:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 7:56:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913055619.29D5ECC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 07:56:18 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/AP3000/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/DS3100/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HP300/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HPPA/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMR2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMRT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IRIX5/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUX/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NEXT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OKI/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OS2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SEQUENT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN3/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/UMAX/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/VAX/: RTMachine.i3 Log message: Just fix newlines. I thought I had tried this earlier and there was no diff. (No, I'm not confusing the branches; I know I already got the release branch; I thought I had also checked head.) From jkrell at elego.de Sun Sep 13 07:58:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 7:58:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913055834.17E20CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 07:58:33 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: just fix line endings From jkrell at elego.de Sun Sep 13 08:01:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060139.B10382474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:01:39 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.c Log message: just remove a few spaces at end of line From jkrell at elego.de Sun Sep 13 08:05:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:05:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060545.06954CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:05:44 Removed files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 Log message: remove unused files From jkrell at elego.de Sun Sep 13 08:07:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:07:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060737.6D04ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:07:37 Removed files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTThreadInit.i3 Log message: remove another unused file (the function is in ThreadF) From jkrell at elego.de Sun Sep 13 08:09:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:09:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060948.EE747CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:09:48 Added files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Unix.pl Unix.txt Log message: bring over two new files from head From jkrell at elego.de Sun Sep 13 08:19:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:19:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913061925.5F36CCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:19:24 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachineASM.s Log message: go back to historical version 1.1, before I changed anything in a not terrible way but for the wrong reasons From jkrell at elego.de Sun Sep 13 08:21:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:21:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913062134.48DCCCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:21:34 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachineASM.s Log message: go back to historical version 1.2, before I changed anything in a not terrible way but for the wrong reasons From jkrell at elego.de Sun Sep 13 08:23:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:23:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913062322.D5918CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:23:22 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachineASM.s cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachineASM.s Log message: copy from head -- go back to old 1.1 and 2.2 versions From jkrell at elego.de Sun Sep 13 15:08:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:08:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913130801.BAED0CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:08:01 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: remove SetSwitchingInterval It didn't do anything on NT and wasn't declared for pthread. For greater source compat we could put it in and have it do nothing for NT and pthread, but we are already getting on without it in pthread. remove ProcessEachStack It is only in pthread and never used. From jay.krell at cornell.edu Sun Sep 13 15:10:10 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 13 Sep 2009 13:10:10 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090913130801.BAED0CC7DE@birch.elegosoft.com> References: <20090913130801.BAED0CC7DE@birch.elegosoft.com> Message-ID: I find it too painful to find diffs given a checkin mail, so here: Index: src/thread/POSIX/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadF.i3,v retrieving revision 1.15 diff -u -r1.15 ThreadF.i3 --- src/thread/POSIX/ThreadF.i3 8 Sep 2009 16:41:38 -0000 1.15 +++ src/thread/POSIX/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -66,13 +66,6 @@ PROCEDURE MyId(): Id RAISES {}; (* return Id of caller *) -(*------------------------------------------------------------ preemption ---*) - -PROCEDURE SetSwitchingInterval (usec: CARDINAL); -(* Sets the time between thread preemptions to 'usec' microseconds. - Note that most Unix systems dont guarantee much if any precision - on timer interrupts. The default value is 100 milliseconds. *) - (*---------------------------------------------------- exception delivery ---*) PROCEDURE GetCurrentHandlers(): ADDRESS; Index: src/thread/POSIX/ThreadPosix.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v retrieving revision 1.44 diff -u -r1.44 ThreadPosix.m3 --- src/thread/POSIX/ThreadPosix.m3 12 Sep 2009 17:55:32 -0000 1.44 +++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:05:22 -0000 @@ -767,15 +767,6 @@ IF inCritical = 0 AND heapState.inCritical = 0 THEN InternalYield () END; END switch_thread; -PROCEDURE SetSwitchingInterval (usec: CARDINAL) = - BEGIN - INC (inCritical); - selected_interval.tv_sec := usec DIV 1000000; - selected_interval.tv_usec := usec MOD 1000000; - DEC (inCritical); - IF multipleThreads THEN StartSwitching () END; - END SetSwitchingInterval; - (*------------------------------------------------------------- scheduler ---*) PROCEDURE CanRun (t: T) = Index: src/thread/PTHREAD/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadF.i3,v retrieving revision 1.17 diff -u -r1.17 ThreadF.i3 --- src/thread/PTHREAD/ThreadF.i3 8 Sep 2009 16:41:38 -0000 1.17 +++ src/thread/PTHREAD/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -24,11 +24,6 @@ of the stack. All other threads must be suspended. ProcessStacks exists solely for the garbage collector. *) -PROCEDURE ProcessEachStack (p: PROCEDURE (start, stop: ADDRESS)); -(* Apply p to each thread stack, with [start..stop) being the limits - of the stack. Each thread is suspended individually. ProcessEachStack - exists solely for the garbage collector. *) - (*------------------------------------------------ floating point support ---*) (* access to the saved floating point state for the current thread. *) Index: src/thread/PTHREAD/ThreadPThread.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v retrieving revision 1.138 diff -u -r1.138 ThreadPThread.m3 --- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 04:55:33 -0000 1.138 +++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:05:22 -0000 @@ -995,55 +995,6 @@ END; END ProcessStacks; -PROCEDURE ProcessEachStack (p: PROCEDURE (start, stop: ADDRESS)) = - (* LL=0 *) - VAR - me := GetActivation(); - act: Activation; - acks: int; - BEGIN - WITH r = pthread_mutex_lock_active() DO <*ASSERT r=0*> END; - - ProcessMe(me, p); - - act := me.next; - WHILE act # me DO - (* stop *) - LOOP - IF StopThread(act) THEN EXIT END; - IF SignalThread(act, ActState.Stopping) THEN - WITH r = sem_getvalue(acks) DO <*ASSERT r=0*> END; - IF acks > 0 THEN - WHILE sem_wait() # 0 DO - <*ASSERT Cerrno.GetErrno() = Uerror.EINTR*> - END; - EXIT; - END; - END; - CommonSleep(); - END; - (* process *) - ProcessOther(act, p); - (* start *) - LOOP - IF StartThread(act) THEN EXIT END; - IF SignalThread(act, ActState.Starting) THEN - WITH r = sem_getvalue(acks) DO <*ASSERT r=0*> END; - IF acks > 0 THEN - WHILE sem_wait() # 0 DO - <*ASSERT Cerrno.GetErrno() = Uerror.EINTR*> - END; - EXIT; - END; - END; - CommonSleep(); - END; - act := act.next; - END; - - WITH r = pthread_mutex_unlock_active() DO <*ASSERT r=0*> END; - END ProcessEachStack; - PROCEDURE ProcessMe (me: Activation; p: PROCEDURE (start, stop: ADDRESS)) = (* LL=activeMu *) VAR Index: src/thread/WIN32/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadF.i3,v retrieving revision 1.17 diff -u -r1.17 ThreadF.i3 --- src/thread/WIN32/ThreadF.i3 8 Sep 2009 16:41:39 -0000 1.17 +++ src/thread/WIN32/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -26,12 +26,6 @@ (* Feature: Windows threads not created by Thread.Fork are not suspended or resumed, and their stacks are not processed. *) -(*------------------------------------------------------------ preemption ---*) - -PROCEDURE SetSwitchingInterval (usec: CARDINAL); -(* Sets the time between thread preemptions to 'usec' microseconds. - This procedure is a no-op on Windows/NT. *) - (*------------------------------------------------------------ thread IDs ---*) TYPE Index: src/thread/WIN32/ThreadWin32.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3,v retrieving revision 1.47 diff -u -r1.47 ThreadWin32.m3 --- src/thread/WIN32/ThreadWin32.m3 8 Sep 2009 16:41:39 -0000 1.47 +++ src/thread/WIN32/ThreadWin32.m3 13 Sep 2009 13:05:22 -0000 @@ -695,12 +695,6 @@ RETURN res; END AlertJoin; -(*------------------------------------------------ timer-based preemption ---*) - -PROCEDURE SetSwitchingInterval (<*UNUSED*> usec: CARDINAL) = - BEGIN - END SetSwitchingInterval; - (*---------------------------------------------------- Scheduling support ---*) PROCEDURE Pause(n: LONGREAL) = > Date: Sun, 13 Sep 2009 15:08:01 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/13 15:08:01 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 > > Log message: > remove SetSwitchingInterval > It didn't do anything on NT and wasn't declared for pthread. > For greater source compat we could put it in and have it do > nothing for NT and pthread, but we are already getting on > without it in pthread. > > remove ProcessEachStack > It is only in pthread and never used. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Sep 13 15:36:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:36:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913133643.92BBCCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:36:43 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 RTCollector.m3 RTHeapStats.m3 RTLinker.m3 RTLinkerX.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 RTException.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile Added files: cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 ThreadInternal.i3 Removed files: cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 Log message: move ThreadUnsafe.i3 to ThreadInternal.i3 move most of ThreadF.i3 to ThreadInternal.i3 ThreadF is safe and public, and small. ThreadInternal is not safe nor public. As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. Three ThreadF.i3s replaced by one. A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. ThreadF.i3 is entirely shared. ThreadInternal.i3 exposes a little extra that is present in all three but only needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). (deletes deferred because of CVS wierdness) From jkrell at elego.de Sun Sep 13 15:37:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:37:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913133739.610D4CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:37:39 Removed files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 Log message: move ThreadUnsafe.i3 to ThreadInternal.i3 move most of ThreadF.i3 to ThreadInternal.i3 ThreadF is safe and public, and small. ThreadInternal is not safe nor public. As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. Three ThreadF.i3s replaced by one. A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. ThreadF.i3 is entirely shared. ThreadInternal.i3 exposes a little extra that is present in all three but only needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). (deletes deferred because of CVS wierdness) From jay.krell at cornell.edu Sun Sep 13 15:39:19 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 13 Sep 2009 13:39:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090913133643.92BBCCC806@birch.elegosoft.com> References: <20090913133643.92BBCCC806@birch.elegosoft.com> Message-ID: Index: src/float/DS3100/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/DS3100/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/DS3100/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/DS3100/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -21,7 +21,7 @@ doesn't cause floating-point exceptions) *) -IMPORT FPU, Usignal, ThreadF, Word, RTMisc; +IMPORT FPU, Usignal, ThreadInternal, Word, RTMisc; TYPE RM = RoundingMode; TYPE MRM = FPU.RoundingMode; @@ -53,7 +53,7 @@ ExtractFlags (status, state, flags); END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -141,7 +141,7 @@ END; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); RETURN flags; END SetFlags; @@ -163,7 +163,7 @@ state.sticky [f] := FALSE; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -242,7 +242,7 @@ EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER)); END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = @@ -252,7 +252,7 @@ behavior := state.behavior [f]; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN behavior; END GetBehavior; Index: src/float/IRIX5/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/IRIX5/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/IRIX5/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/IRIX5/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -22,7 +22,7 @@ doesn't cause floating-point exceptions) *) -IMPORT FPU, Usignal, ThreadF, Word, RTError; +IMPORT FPU, Usignal, ThreadInternal, Word, RTError; TYPE RM = RoundingMode; TYPE MRM = FPU.RoundingMode; @@ -54,7 +54,7 @@ ExtractFlags (status, state, flags); END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -142,7 +142,7 @@ END; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); RETURN flags; END SetFlags; @@ -164,7 +164,7 @@ state.sticky [f] := FALSE; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -243,7 +243,7 @@ EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER)); END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = @@ -253,7 +253,7 @@ behavior := state.behavior [f]; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN behavior; END GetBehavior; Index: src/float/VAX/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/VAX/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/VAX/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/VAX/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -9,7 +9,7 @@ MODULE FloatMode (* FOR VAX *); -IMPORT ThreadF; +IMPORT ThreadInternal; PROCEDURE SetRounding(md: RoundingMode) RAISES {Failure} = BEGIN @@ -28,7 +28,7 @@ flags := state.sticky; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -49,7 +49,7 @@ state.sticky := state.sticky - SET OF Flag {f}; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -74,7 +74,7 @@ state.behavior [f] := b; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = Index: src/runtime/NT386/RTSignal.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/NT386/RTSignal.m3,v retrieving revision 1.2 diff -u -w -r1.2 RTSignal.m3 --- src/runtime/NT386/RTSignal.m3 12 Feb 2001 15:22:45 -0000 1.2 +++ src/runtime/NT386/RTSignal.m3 13 Sep 2009 13:27:35 -0000 @@ -4,7 +4,7 @@ UNSAFE MODULE RTSignal; IMPORT RT0, RTMachInfo, RTError, RTException, RTProcess, RuntimeError; -IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadF; +IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadInternal; TYPE RTE = RuntimeError.T; @@ -60,7 +60,7 @@ END; (* Otherwise, just dump our guts... *) - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); FOR i := FIRST (SysErrs) TO LAST (SysErrs) DO IF (SysErrs[i].err = err) THEN RTError.ReportPC (pc, SysErrs[i].msg); @@ -71,7 +71,7 @@ EXIT; END; END; - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); (*** IF (old_filter # NIL) THEN RETURN old_filter (info); Index: src/runtime/WIN32/RTOS.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/WIN32/RTOS.m3,v retrieving revision 1.5 diff -u -w -r1.5 RTOS.m3 --- src/runtime/WIN32/RTOS.m3 29 Dec 2008 10:23:39 -0000 1.5 +++ src/runtime/WIN32/RTOS.m3 13 Sep 2009 13:27:35 -0000 @@ -6,7 +6,7 @@ UNSAFE MODULE RTOS; -IMPORT RTMachInfo, RTSignal, ThreadF; +IMPORT RTMachInfo, RTSignal, ThreadInternal; IMPORT WinBase, WinCon, WinDef; (*--------------------------------------------------- process termination ---*) @@ -20,7 +20,7 @@ CONST Magic = 1 * ADRSIZE (INTEGER); (* == offset of "fp" in this frame *) VAR fp: ADDRESS := ADR (fp) + Magic; (* == my frame pointer *) BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); RTMachInfo.DumpStack (LOOPHOLE (Crash, ADDRESS), fp); RTSignal.RestoreHandlers (); (* so we really do crash... *) IF WinBase.IsDebuggerPresent () # 0 THEN @@ -33,7 +33,7 @@ PROCEDURE Crash () = VAR ptr := LOOPHOLE(-99, UNTRACED REF INTEGER); BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); ptr^ := 99; (* try to get to the debugger... *) Exit (-1); END Crash; Index: src/runtime/common/RTAllocator.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTAllocator.m3,v retrieving revision 1.32 diff -u -w -r1.32 RTAllocator.m3 --- src/runtime/common/RTAllocator.m3 8 Sep 2009 16:41:37 -0000 1.32 +++ src/runtime/common/RTAllocator.m3 13 Sep 2009 13:27:35 -0000 @@ -14,7 +14,7 @@ UNSAFE MODULE RTAllocator EXPORTS RTAllocator, RTAllocCnts, RTHooks, RTHeapRep; -IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadUnsafe; +IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadInternal; IMPORT RuntimeError AS RTE, Word; FROM RTType IMPORT Typecode; @@ -71,7 +71,7 @@ VAR hdr: RefHeader; def: RT0.TypeDefn; dataSize: CARDINAL; res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF (ref = NIL) THEN RETURN NIL; END; IF Word.And(LOOPHOLE(ref, Word.T), 1) # 0 THEN RETURN ref; END; @@ -192,7 +192,7 @@ PROCEDURE GetTracedRef (def: RT0.TypeDefn): REFANY = VAR res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Ref) THEN RTE.Raise(RTE.T.ValueOutOfRange); @@ -214,7 +214,7 @@ PROCEDURE GetTracedObj (def: RT0.TypeDefn): ROOT = VAR res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Obj) THEN RTE.Raise(RTE.T.ValueOutOfRange); @@ -283,7 +283,7 @@ VAR res: ADDRESS; dataSize: CARDINAL; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Array) THEN RTE.Raise(RTE.T.ValueOutOfRange); Index: src/runtime/common/RTCollector.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTCollector.m3,v retrieving revision 1.69 diff -u -w -r1.69 RTCollector.m3 --- src/runtime/common/RTCollector.m3 13 Sep 2009 04:57:33 -0000 1.69 +++ src/runtime/common/RTCollector.m3 13 Sep 2009 13:27:35 -0000 @@ -16,7 +16,7 @@ IMPORT RT0, RTHeapEvent, RTHeapMap, RTIO, RTMachine; IMPORT RTMisc, RTOS, RTParams, RTPerfTool, RTProcess, RTType; -IMPORT Word, Thread, ThreadF, RuntimeError; +IMPORT Word, Thread, ThreadInternal, RuntimeError; IMPORT TextLiteral AS TextLit, RTLinker, Time; FROM RT0 IMPORT Typecode, TypeDefn; @@ -732,7 +732,7 @@ PROCEDURE CollectSomeInStateZero () = BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); <* ASSERT disableCount + disableMotionCount = 0 *> (* compute some costs relative to previous collection *) @@ -806,7 +806,7 @@ pages, because we want to make sure that old, impure, dirty pages referenced by threads are marked as ambiguous roots. Otherwise, these pages won't get cleaned before we return. *) - ThreadF.ProcessStacks(NoteStackLocations); + ThreadInternal.ProcessStacks(NoteStackLocations); (* Now, nothing in previous space is referenced by a thread. *) (* Promote any remaining "old" pages and unprotect everything else *) @@ -886,7 +886,7 @@ collectorState := CollectorState.One; IF backgroundWaiting THEN signalBackground := TRUE; END; - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); END CollectSomeInStateZero; (* Clean gray nodes *) @@ -1615,9 +1615,9 @@ PROCEDURE After (self: MonitorClosure) = BEGIN - ThreadF.SuspendOthers(); + ThreadInternal.SuspendOthers(); SanityCheck (self); - ThreadF.ResumeOthers(); + ThreadInternal.ResumeOthers(); END After; PROCEDURE SanityCheck (<*UNUSED*> self: MonitorClosure) = @@ -1790,7 +1790,7 @@ BEGIN TRY Disable(); - ThreadF.SuspendOthers(); + ThreadInternal.SuspendOthers(); FOR p := p0 TO p1 - 1 DO IF desc[p - p0] = 0 THEN WITH page = PageToRef(p), d = page.desc DO @@ -1813,7 +1813,7 @@ END; END; FINALLY - ThreadF.ResumeOthers(); + ThreadInternal.ResumeOthers(); Enable(); END; END VisitAllRefs; Index: src/runtime/common/RTHeapStats.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTHeapStats.m3,v retrieving revision 1.6 diff -u -w -r1.6 RTHeapStats.m3 --- src/runtime/common/RTHeapStats.m3 8 Sep 2009 05:54:55 -0000 1.6 +++ src/runtime/common/RTHeapStats.m3 13 Sep 2009 13:27:35 -0000 @@ -5,7 +5,7 @@ (* Last modified on Fri May 5 08:22:31 PDT 1995 by kalsow *) (* The code below makes the following NASTY assumption: - ThreadF.ProcessStacks calls its argument twice for + ThreadInternal.ProcessStacks calls its argument twice for each thread -- the first time for the stack, the second time for its registers. *) @@ -13,7 +13,7 @@ IMPORT RT0, RTCollector, RTModule, RTIO, RTHeapMap, RTHeapRep, RTMisc; IMPORT RTOS, RTType, RTTypeSRC, RTProcedure, RTProcedureSRC, RTMachine; -IMPORT RTStack, ThreadF, Word, Text; +IMPORT RTStack, ThreadInternal, Word, Text; FROM RTIO IMPORT PutInt, PutAddr, PutText; TYPE @@ -96,7 +96,7 @@ (* freeze the world *) RTCollector.Disable (); RTOS.LockHeap (); (* freeze the heap *) - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); (* capture the heap limits *) heap_min := LOOPHOLE (RTHeapRep.p0 * RTHeapRep.BytesPerPage, ADDRESS); @@ -146,7 +146,7 @@ (* thaw the world *) DISPOSE (visit_stack); DISPOSE (map); - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); RTOS.UnlockHeap (); (* unfreeze the heap *) RTCollector.Enable (); END ReportReachable; @@ -282,7 +282,7 @@ BEGIN self_id := -1; mark_addr := ADR (i); - ThreadF.ProcessStacks (GetThread); + ThreadInternal.ProcessStacks (GetThread); RTIO.PutText ("Threads: "); RTIO.PutInt (n_threads); IF (n_threads > NUMBER (threads)) THEN Index: src/runtime/common/RTLinker.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinker.m3,v retrieving revision 1.15 diff -u -w -r1.15 RTLinker.m3 --- src/runtime/common/RTLinker.m3 8 Sep 2009 05:54:55 -0000 1.15 +++ src/runtime/common/RTLinker.m3 13 Sep 2009 13:27:36 -0000 @@ -12,7 +12,7 @@ IMPORT Cstdlib, Cstring; IMPORT RT0, RTParams, RTDebug, RTHeapRep, RTCollectorSRC; -IMPORT RTTypeSRC, RTSignal, ThreadF, RTHeapInfo, RTLinkerX, +IMPORT RTTypeSRC, RTSignal, ThreadInternal, RTHeapInfo, RTLinkerX, RTIO, Word; VAR @@ -46,7 +46,7 @@ AddUnit (RTLinkerX.RTDebug_I3); AddUnit (RTLinkerX.RTError_I3); AddUnit (RTLinkerX.RTHeapRep_I3); - AddUnit (RTLinkerX.ThreadF_I3); + AddUnit (RTLinkerX.ThreadInternal_I3); AddUnit (RTLinkerX.RTHeapInfo_I3); AddUnit (RTLinkerX.RTIO_I3); AddUnit (RTLinkerX.RTCollectorSRC_I3); @@ -55,7 +55,7 @@ (* finally, initialize the runtime. *) RTSignal.InstallHandlers (); RTParams.Init (); - ThreadF.Init (); + ThreadInternal.Init (); RTHeapRep.Init (); RTDebug.Init (); RTHeapInfo.Init (); Index: src/runtime/common/RTLinkerX.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinkerX.i3,v retrieving revision 1.7 diff -u -w -r1.7 RTLinkerX.i3 --- src/runtime/common/RTLinkerX.i3 7 Apr 2008 17:58:30 -0000 1.7 +++ src/runtime/common/RTLinkerX.i3 13 Sep 2009 13:27:36 -0000 @@ -46,7 +46,7 @@ <*EXTERNAL*> PROCEDURE RTTypeSRC_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTWeakRef_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTutils_I3 (mode: INTEGER): RT0.ModulePtr; -<*EXTERNAL*> PROCEDURE ThreadF_I3 (mode: INTEGER): RT0.ModulePtr; +<*EXTERNAL*> PROCEDURE ThreadInternal_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE Word_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RT0_M3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTAllocStats_M3 (mode: INTEGER): RT0.ModulePtr; Index: src/runtime/ex_frame/RTExFrame.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3,v retrieving revision 1.5 diff -u -w -r1.5 RTExFrame.m3 --- src/runtime/ex_frame/RTExFrame.m3 8 Sep 2009 05:54:56 -0000 1.5 +++ src/runtime/ex_frame/RTExFrame.m3 13 Sep 2009 13:27:36 -0000 @@ -4,7 +4,7 @@ UNSAFE MODULE RTExFrame EXPORTS RTException, RTExFrame; -IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadF; +IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadInternal; IMPORT Thread, Csetjmp; VAR @@ -16,7 +16,7 @@ PROCEDURE Raise (VAR act: RT0.RaiseActivation) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -67,7 +67,7 @@ PROCEDURE ResumeRaise (VAR a: RT0.RaiseActivation) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -99,7 +99,7 @@ BadStack (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) f := f.next; (* try the previous frame *) END; END ResumeRaise; @@ -114,7 +114,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) p.info := a; (* copy the exception to the new frame *) Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *) RAISE OUCH; @@ -138,7 +138,7 @@ cl.proc := p.handler; cl.frame := p.frame; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) CallProc (LOOPHOLE (ADR (cl), FinallyProc), a); END InvokeFinallyHandler; @@ -159,7 +159,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) Thread.Release (p.mutex); (* and release the lock *) END ReleaseLock; @@ -173,7 +173,7 @@ PROCEDURE SanityCheck () = CONST Min_SK = ORD (FIRST (ScopeKind)); CONST Max_SK = ORD (LAST (ScopeKind)); - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); VAR i: INTEGER; BEGIN WHILE (f # NIL) DO @@ -184,7 +184,7 @@ END SanityCheck; PROCEDURE DumpStack () = - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); BEGIN IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END; Index: src/runtime/ex_frame/RTException.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTException.m3,v retrieving revision 1.1.1.1 diff -u -w -r1.1.1.1 RTException.m3 --- src/runtime/ex_frame/RTException.m3 24 Jan 2001 12:24:27 -0000 1.1.1.1 +++ src/runtime/ex_frame/RTException.m3 13 Sep 2009 13:27:36 -0000 @@ -8,7 +8,7 @@ UNSAFE MODULE RTException EXPORTS RTException, RTExRep; IMPORT RT0, RTMisc, RTIO, RTParams, RTOS; -IMPORT Thread, ThreadF, M3toC, Ctypes, Csetjmp; +IMPORT Thread, ThreadInternal, M3toC, Ctypes, Csetjmp; VAR DEBUG := FALSE; @@ -22,7 +22,7 @@ PROCEDURE Raise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -69,7 +69,7 @@ PROCEDURE ResumeRaise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -101,7 +101,7 @@ BadStack (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) f := f.next; (* try the previous frame *) END; END ResumeRaise; @@ -117,7 +117,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) p.exception := en; (* record the exception *) p.arg := arg; (* and it argument *) Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *) @@ -143,7 +143,7 @@ cl.proc := p.handler; cl.frame := p.frame; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) CallProc (LOOPHOLE (ADR (cl), FinallyProc)); END InvokeFinallyHandler; @@ -164,7 +164,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) Thread.Release (p.mutex); (* and release the lock *) END ReleaseLock; @@ -188,7 +188,7 @@ PROCEDURE SanityCheck () = CONST Min_SK = ORD (FIRST (ScopeKind)); CONST Max_SK = ORD (LAST (ScopeKind)); - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); VAR i: INTEGER; BEGIN WHILE (f # NIL) DO @@ -199,7 +199,7 @@ END SanityCheck; PROCEDURE DumpStack () = - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); BEGIN IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END; Index: src/thread/Common/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/Common/m3makefile,v retrieving revision 1.7 diff -u -w -r1.7 m3makefile --- src/thread/Common/m3makefile 8 Sep 2009 16:41:37 -0000 1.7 +++ src/thread/Common/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -8,10 +8,11 @@ % modified on Tue Feb 11 15:07:32 PST 1992 by muller Interface ("Thread") +Interface ("ThreadF") Interface ("Scheduler") if equal (OS_TYPE, "POSIX") Interface ("SchedulerPosix") end Interface ("MutexRep") Interface ("ThreadEvent") -interface ("ThreadUnsafe") +interface ("ThreadInternal") Index: src/thread/POSIX/ThreadPosix.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.i3,v retrieving revision 1.7 diff -u -w -r1.7 ThreadPosix.i3 --- src/thread/POSIX/ThreadPosix.i3 29 Jun 2009 19:20:47 -0000 1.7 +++ src/thread/POSIX/ThreadPosix.i3 13 Sep 2009 13:27:36 -0000 @@ -20,7 +20,7 @@ <*EXTERNAL ThreadPosix__InitC*> PROCEDURE InitC(); -(* There is already ThreadF.Init exported by the same module that exports this +(* There is already ThreadInternal.Init exported by the same module that exports this interface, so we chose an arbitrary different name here. *) END ThreadPosix. Index: src/thread/POSIX/ThreadPosix.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v retrieving revision 1.45 diff -u -w -r1.45 ThreadPosix.m3 --- src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:08:00 -0000 1.45 +++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:27:36 -0000 @@ -10,7 +10,7 @@ (*| modified On Mon Apr 5 14:51:30 PDT 1993 by muller *) (*| modified on Mon Feb 22 10:08:49 PST 1993 by jdd *) -UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadUnsafe, +UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadInternal, Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPosix; IMPORT Cerrno, Cstring, FloatMode, MutexRep, RTHeapRep, RTCollectorSRC, @@ -1461,7 +1461,7 @@ perfOn := RTPerfTool.Send (perfW, ADR (e), EventSize); END PerfRunning; -(*--------------------------------------------------------- ThreadF hooks ---*) +(*--------------------------------------------------------- ThreadInternal hooks ---*) VAR hooks: Hooks := NIL; @@ -1485,6 +1485,8 @@ RETURN oldHooks; END RegisterHooks; +(*--------------------------------------------------------- ThreadF ---*) + PROCEDURE MyId(): Id RAISES {}= BEGIN RETURN self.id; Index: src/thread/POSIX/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/m3makefile,v retrieving revision 1.6 diff -u -w -r1.6 m3makefile --- src/thread/POSIX/m3makefile 22 Mar 2009 09:43:13 -0000 1.6 +++ src/thread/POSIX/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -7,7 +7,6 @@ % modified on Tue May 4 10:18:56 PDT 1993 by mjordan % modified on Tue Feb 11 15:07:32 PST 1992 by muller -Interface ("ThreadF") module ("ThreadPosix") c_source ("ThreadPosixC") h_source ("ThreadPosix") Index: src/thread/PTHREAD/ThreadPThread.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v retrieving revision 1.139 diff -u -w -r1.139 ThreadPThread.m3 --- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:08:01 -0000 1.139 +++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:27:36 -0000 @@ -2,7 +2,7 @@ (* All rights reserved. *) (* See the file COPYRIGHT-PURDUE for a full description. *) -UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadUnsafe, +UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadInternal, Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPThread; IMPORT Cerrno, FloatMode, MutexRep, @@ -1316,7 +1316,6 @@ VAR perfW : RTPerfTool.Handle; - perfOn: BOOLEAN := FALSE; (* LL = perfMu *) PROCEDURE PerfStart () = BEGIN Index: src/thread/PTHREAD/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/m3makefile,v retrieving revision 1.13 diff -u -w -r1.13 m3makefile --- src/thread/PTHREAD/m3makefile 29 Apr 2009 21:01:14 -0000 1.13 +++ src/thread/PTHREAD/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -7,6 +7,5 @@ % modified on Tue May 4 10:18:56 PDT 1993 by mjordan % modified on Tue Feb 11 15:07:32 PST 1992 by muller -Interface ("ThreadF") module ("ThreadPThread") c_source ("ThreadPThreadC") Index: src/thread/WIN32/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/m3makefile,v retrieving revision 1.13 diff -u -w -r1.13 m3makefile --- src/thread/WIN32/m3makefile 21 Apr 2009 11:02:11 -0000 1.13 +++ src/thread/WIN32/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -2,7 +2,6 @@ % All rights reserved. % See the file COPYRIGHT for a full description. -Interface ("ThreadF") Interface ("ThreadContext") module ("ThreadWin32") interface("ThreadInternal") > Date: Sun, 13 Sep 2009 15:36:43 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/13 15:36:43 > > Modified files: > cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 > cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 > cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 > cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 > cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > RTCollector.m3 > RTHeapStats.m3 > RTLinker.m3 RTLinkerX.i3 > cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 > RTException.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 > ThreadPosix.m3 m3makefile > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > m3makefile > cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile > Added files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 > ThreadInternal.i3 > Removed files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 > > Log message: > move ThreadUnsafe.i3 to ThreadInternal.i3 > move most of ThreadF.i3 to ThreadInternal.i3 > ThreadF is safe and public, and small. > ThreadInternal is not safe nor public. > As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. > Three ThreadF.i3s replaced by one. > A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. > ThreadF.i3 is entirely shared. > ThreadInternal.i3 exposes a little extra that is present in all three but only > needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). > > (deletes deferred because of CVS wierdness) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Sep 13 18:57:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 18:57:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913165718.99B36CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 18:57:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Unix.common Log message: newer Sun cc says: cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead cc: Warning: -xarch=v9 is deprecated, use -m64 to create 64-bit programs probe at first use of cc (or ld since it is cc) for the warning and use the new form if it is found In general introduce hooks: configure_assembler() configure_c_compiler() configure_linker() That are called before uses of SYSTEM_ASM, SYSTEM_CC, SYSTEM_LD. configure_assembler was already in use for I386_DARWIN. Even if folks really object to running this stuff as often as it is done, the configure code can probably be used asis (say, at install time) and the results recorded. Personally I don't observe this stuff to be slow and it leaves the system more flexible -- no need to reinstall/reconfigure Modula-3 if in fact this other stuff can be changed after it is installed. From jkrell at elego.de Sun Sep 13 19:13:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:13:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913171342.B5FD0CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:13:42 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c m3unix.h Log message: Newer Sun headers also: typedef struct timespec timespec_t; leading to us getting: "../src/unix/Common/m3unix.h", line 83: warning: typedef redeclared: timespec_t so use timespec_T instead, lame, I know. From jkrell at elego.de Sun Sep 13 19:31:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:31:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913173130.82B33CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:31:30 Added files: cm3/scripts/examples/: make-formsedit.sh Log message: initial copy from make-juno.sh From jkrell at elego.de Sun Sep 13 19:35:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:35:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913173534.A47BA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:35:34 Modified files: cm3/scripts/examples/: make-formsedit.sh Log message: initial guess, might need to put back tools/tk/scanner/parser/bundle From jkrell at elego.de Sun Sep 13 20:28:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 20:28:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913182824.ABD96CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 20:28:24 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: omit mklib, remove tabs, let caller specify target From jkrell at elego.de Sun Sep 13 20:29:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 20:29:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913182929.91F75CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 20:29:29 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollectorSRC.i3 RTCollector.m3 Log message: add do nothing DisableVM for slightly better source compat with old cm3 From hosking at elego.de Sun Sep 13 20:52:06 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 20:52:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913185207.9CCCC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 20:52:06 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 ThreadInternal.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: With ThreadInternal now unsafe restore old unsafe way of manipulating float state. Restore ProcessEachStack (we will be using it for non-STW GC at some point). From jkrell at elego.de Sun Sep 13 21:57:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 21:57:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913195704.7F6082474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 21:57:04 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: path adjustments for msi building, not quite right but might suffice; try to diagnose a strange printout From jkrell at elego.de Sun Sep 13 22:47:26 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 22:47:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913204726.D9B862474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 22:47:26 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: replace /dev/null with os.devnull; this should stop us from creating the file nul that causes the makedist task to fail in strange ways, unless I cleanup the workspace between runs From jkrell at elego.de Sun Sep 13 22:48:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 22:48:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913204827.2B3102474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 22:48:27 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: (more working around that elego uses cygwin Python but I use Win32 Python) From jkrell at elego.de Mon Sep 14 02:38:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 2:38:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914003834.BEF182474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 02:38:34 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: for msi building, hack out executable code from global scope, maybe can structure better later From jkrell at elego.de Mon Sep 14 08:52:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 8:52:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914065216.6433FCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 08:52:16 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: paths written into .wxs file need to be Win3 paths (again, elego Python is Cygwin..mine is not) From jkrell at elego.de Mon Sep 14 10:44:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 10:44:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914084420.BD1492474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 10:44:20 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: further accounting for Cygwin python -- double up slashes on command line; and I think print the wierd printout by redirecting stderr to stdout (wierd because it isn't ordered as expected, ok) From jkrell at elego.de Mon Sep 14 10:51:57 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 10:51:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914085158.AE5C72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 10:51:57 Modified files: cm3/m3-sys/m3cc/src/: gnucc.common Log message: independent reimplementation of the SOLgnu/SOLsun equivalence, because I was out of date, no real change From jkrell at elego.de Mon Sep 14 11:03:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 11:03:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914090356.B6B832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 11:03:55 Modified files: cm3/scripts/python/: pylib.py Log message: copy from release From hosking at elego.de Mon Sep 14 23:52:21 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 14 Sep 2009 23:52:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914215222.391D6CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/14 23:52:21 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 ThreadWin32.m3 Log message: Slight reorg. Tidy up ThreadPosix implementation some. Put back ProcessEachStack (we'll be using it for non-STW GC). From jay.krell at cornell.edu Tue Sep 15 02:20:53 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 15 Sep 2009 00:20:53 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090914215222.391D6CC806@birch.elegosoft.com> References: <20090914215222.391D6CC806@birch.elegosoft.com> Message-ID: Is that legal in ThreadWin32.m3? I didn't realize. Otherwise, I presume it can go in ThreadWin32.i3. Also presumably some ProcessEachStack is needed in ThreadWin32.m3. - Jay ---------------------------------------- > Date: Mon, 14 Sep 2009 23:52:21 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/14 23:52:21 > > Modified files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 > ThreadWin32.m3 > > Log message: > Slight reorg. > Tidy up ThreadPosix implementation some. > Put back ProcessEachStack (we'll be using it for non-STW GC). > From hosking at elego.de Tue Sep 15 04:07:03 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 4:07:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915020704.916C62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 04:07:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 Log message: Oops, put this in the wrong place. From hosking at elego.de Tue Sep 15 04:07:44 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 4:07:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915020744.684AF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 04:07:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Oops, put this in the wrong place. From hosking at elego.de Tue Sep 15 21:47:44 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 21:47:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915194744.E21CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 21:47:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Merge/revert back to last known good ThreadWin32. Jay, give this one a try. From jay.krell at cornell.edu Wed Sep 16 01:38:56 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Tue, 15 Sep 2009 16:38:56 -0700 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090915194744.E21CC2474001@birch.elegosoft.com> References: <20090915194744.E21CC2474001@birch.elegosoft.com> Message-ID: <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> To state the obvious: there was some point to the changes, maybe some necessary accomodation of changed callers??, so I didn't want to just go back. But you do know better. I will try later. Stil hunting formsedit problem too. - Jay (phone) On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/15 21:47:44 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Merge/revert back to last known good ThreadWin32. > Jay, give this one a try. > > From hosking at cs.purdue.edu Wed Sep 16 02:03:56 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 15 Sep 2009 20:03:56 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> References: <20090915194744.E21CC2474001@birch.elegosoft.com> <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> Message-ID: <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> I didn't revert. I undid changes I had made at that time, but retained yours. On 15 Sep 2009, at 19:38, jay.krell at cornell.edu wrote: > To state the obvious: there was some point to the changes, maybe > some necessary accomodation of changed callers??, so I didn't want > to just go back. But you do know better. > I will try later. Stil hunting formsedit problem too. > > - Jay (phone) > > On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: > >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/09/15 21:47:44 >> >> Modified files: >> cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 >> >> Log message: >> Merge/revert back to last known good ThreadWin32. >> Jay, give this one a try. >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Sep 16 04:48:49 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 16 Sep 2009 02:48:49 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> References: <20090915194744.E21CC2474001@birch.elegosoft.com> <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> Message-ID: Tony I meant your changes, sorry for unclarity. - Jay From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Date: Tue, 15 Sep 2009 20:03:56 -0400 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I didn't revert. I undid changes I had made at that time, but retained yours. On 15 Sep 2009, at 19:38, jay.krell at cornell.edu wrote: To state the obvious: there was some point to the changes, maybe some necessary accomodation of changed callers??, so I didn't want to just go back. But you do know better. I will try later. Stil hunting formsedit problem too. - Jay (phone) On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 21:47:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Merge/revert back to last known good ThreadWin32. Jay, give this one a try. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Wed Sep 16 15:32:20 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 16 Sep 2009 15:32:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090916133220.57FE92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/16 15:32:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Oops. Forgot that the changes at that time were due to change in expectation that WaitHeap now must occur inside LockHeap/UnlockHeap. It must release the critical section. Jay, have a try with this. From hosking at elego.de Wed Sep 16 15:51:45 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 16 Sep 2009 15:51:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090916135146.74EE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/16 15:51:45 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Resolve a longstanding issue with out of memory occuring while in the middle of GC. The approach is simply to promote the page containing the object we are trying to copy. This has a benign effect, and may permit the GC to finish safely. Mutators will still receive OOM exceptions if they cannot allocate, at which point they may choose to release some (presumably cached) references before trying the allocation again. From hosking at elego.de Thu Sep 17 22:51:54 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 17 Sep 2009 22:51:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090917205155.15CABCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/17 22:51:54 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: RuntimeError is now unused. From jkrell at elego.de Sat Sep 19 20:26:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 19 Sep 2009 20:26:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919182659.3B7A62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/19 20:26:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Usocket.c Usocket.i3 cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/interix-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/openbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: sysdep reduction: struct linger is identical on all platforms except Cygwin (where it doesn't appear to be Posix-conforming) Posix says the fields are int, but Cygwin uses unsigned short. assert this (in UnixC.c) use a copying wrapper on Cygwin (Usocket.c) remove platform specific code, except for Cygwin (#ifdef a few lines instead of duplicating stuff for every platform) From jkrell at elego.de Sun Sep 20 01:35:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:35:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233505.143FBCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:35:04 Added files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile.old Log message: copy of m3makefile From jkrell at elego.de Sun Sep 20 01:36:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:36:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233604.73E6FCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:36:04 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile Log message: remove old targets From jkrell at elego.de Sun Sep 20 01:39:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:39:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233944.3004DCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:39:44 Added files: cm3/m3-libs/m3core/src/time/POSIX/: DateLinux.m3.old Removed files: cm3/m3-libs/m3core/src/time/POSIX/: DateLinux.m3 Log message: make it clearer that this is not used, Linux is now BSD From jkrell at elego.de Sun Sep 20 01:53:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:53:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919235354.A2D5F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:53:54 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile cm3/m3-libs/m3core/src/: m3makefile Added files: cm3/m3-libs/m3core/src/: platforms.quake Log message: a step toward using TARGET_OS which current config files define, but still compatible with older systems, I guess until the current release occurs From jkrell at elego.de Sun Sep 20 02:26:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:26:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920002628.2C858CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:26:28 Modified files: cm3/m3-libs/libm3/src/: m3makefile cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Added files: cm3/m3-libs/libm3/src/: platforms.quake Log message: a step toward using TARGET_OS and TARGET_ARCH which current config files define, but still compatible with older systems, I guess until the current release occurs From jkrell at elego.de Sun Sep 20 02:27:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:27:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920002732.B7CE6CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:27:32 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: comment only From jkrell at elego.de Sun Sep 20 02:41:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:41:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920004115.55259CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:41:15 Modified files: cm3/m3-libs/m3core/src/: platforms.quake cm3/m3-libs/m3core/src/Csupport/: m3makefile Log message: closer to requiring TARGET_ENDIAN, but again, still compatible This probably breaks tests, will visit shortly. From jkrell at elego.de Sun Sep 20 03:50:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 3:50:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920015033.091BE2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 03:50:32 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-util.c Log message: Very likely remove some porting work: enum m3_target_typ m3_target_pure ( char * name ) { if (strstr(name, "NT386")) { return TARGET_NT386; } /* This is crude but very likely to always be correct. There is a 32bit mode on HP-UX/IA64 and ALPHA_NT is 32bit, but these are hypothetical and unlikely to materialize and could have "32" put in their names, and ALPHA_NT would unlikely support m3gdb. */ if (strstr(name, "32")) { return TARGET_OTHER; } if (strstr(name, "ALPHA")) { return TARGET_64; } if (strstr(name, "64" )) { return TARGET_64; } /* FIXME: Positively check for all M3 compiler target names, or at least all those in m3middle/src/Target.m3 that cause a call on Init64. */ return TARGET_OTHER; } /* m3_target_pure */ where before it was checking for very specific 64bit targets with strcmp. From jkrell at elego.de Sun Sep 20 04:17:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:17:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920021728.760612474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:17:27 Added files: cm3/doc/notes/: porting.txt Log message: initial version, I think too much information and too verbose maybe From jkrell at elego.de Sun Sep 20 04:18:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:18:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920021814.7B05F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:18:14 Modified files: cm3/doc/notes/: porting.txt Log message: remove confusing qualifier From jkrell at elego.de Sun Sep 20 04:21:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:21:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920022120.816EACC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:21:20 Modified files: cm3/doc/notes/: porting.txt Log message: small edits From jkrell at elego.de Sun Sep 20 04:22:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:22:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920022300.40151CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:22:59 Modified files: cm3/doc/notes/: porting.txt Log message: small edits From jkrell at elego.de Sun Sep 20 04:56:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:56:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920025622.463322474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:56:21 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile Log message: fix it to compile From jkrell at elego.de Sun Sep 20 05:00:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 5:00:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920030021.28EB0CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 05:00:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 Log message: fix to compile From jkrell at elego.de Sun Sep 20 05:06:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 5:06:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920030623.AE40ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 05:06:23 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: Fix it to compile -- remove functions that nobody uses and Win32 doesn't currently implement. From jkrell at elego.de Sun Sep 20 06:02:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:02:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920040233.B1B0ACC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:02:33 Modified files: cm3/scripts/: pkgmap.sh Log message: eliminate more uses of date %+s which are not portable to Solaris and cause expr to issue an error From jkrell at elego.de Sun Sep 20 06:05:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:05:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920040517.A03EB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:05:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: eliminate uses of date %+s which are not portable to Solaris and cause expr to issue an error ('C is more portable than sh.') From jkrell at elego.de Sun Sep 20 06:21:19 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:21:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042119.5B112CC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:21:19 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: better -- look around for a C compiler From jkrell at elego.de Sun Sep 20 06:24:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:24:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042411.70315CC815@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:24:11 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:24:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:24:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042429.F0775CC815@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:24:29 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:25:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:25:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042524.88DFBCC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:25:24 Modified files: cm3/scripts/: pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:26:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:26:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042657.9BB02CC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:26:57 Modified files: cm3/scripts/: pkgmap.sh Log message: better -- look around for a C compiler From jkrell at elego.de Sun Sep 20 06:27:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:27:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042737.AF4D62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:27:37 Modified files: cm3/scripts/: pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:28:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:28:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042802.4FCCD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:28:01 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:40:31 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:40:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044031.D51A1CC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:40:31 Modified files: cm3/m3-libs/m3core/src/float/: m3makefile Log message: use TARGET_ENDIAN for the defaulting actually sort of fix the interaction with m3-sys/m3tests that wasn't really implemented correctly in the first place, but it was good enough given that every target uses the default (we should look into improving this before much longer) From jkrell at elego.de Sun Sep 20 06:41:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:41:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044124.9C6ABCC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:41:24 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: remove warning that I just introduced (comment out FloatMode, until MyFPState is used by anyone) From jkrell at elego.de Sun Sep 20 06:45:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:45:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044538.13CEE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:45:37 Modified files: cm3/doc/notes/: porting.txt Log message: some small edits as to criticalness/optionality of some stuff From jkrell at elego.de Sun Sep 20 09:42:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:42:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074206.47215CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:42:06 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c Log message: remove settimeofday we never use it and the wrappers are about to get a little thicker for portability From jkrell at elego.de Sun Sep 20 09:44:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:44:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074416.A9191CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:44:16 Modified files: cm3/m3-tools/cvsup/suplib/src/: FileAttr.m3 Log message: accept default for the second parameter to gettimeofday, so I can remove it From jkrell at elego.de Sun Sep 20 09:46:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:46:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074601.87774CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:46:01 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c Log message: second parameter to gettimeofday always NULL From jkrell at elego.de Sun Sep 20 22:55:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 22:55:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920205504.7CAE2CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 22:55:04 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Usocket.c Usocket.i3 Utime.i3 UtimeC.c Utypes.i3 m3unix.h cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/interix-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/openbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: Usysdep reduction idealize time_t as INTEGER actually I'd like to make it LONGINT So far I haven't seen a 32bit Posix system with a 64bit time_t. I think I've seen even 64bit Posix with 32bit time_t! 32bit Cygwin is threatening to go that way. Windows already is this way by default. They really all should. LONGINT might be source incompatible so holding off on that. and then all the related structs -- timespec, timeval, itimerval This involves "copying wrappers". And since the conversion functions are static in UtimeC.c, move select and utimes wrappers to there. split up Unix__Assertions into Unix__Assertions, Usocket__Assertions, Utime__Assertions We assert that struct linger can be passed through, except on Cygwin and that timespec, timeval, itimerval are all as we expect We will probably soon be using much less of all this code but we can maybe leave it for some compatibility. From jkrell at elego.de Sun Sep 20 23:07:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:07:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920210706.CFA4D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:07:06 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: remove errant but ok character in comment From jkrell at elego.de Sun Sep 20 23:08:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:08:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920210851.D11C4CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:08:51 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: fix syntax error on Cygwin From jkrell at elego.de Sun Sep 20 23:10:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:10:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211018.05C76CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:10:17 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uin.c Log message: #include arpa/inet.h to get prototypes for hton etc. From jkrell at elego.de Sun Sep 20 23:14:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:14:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211442.2A47FCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:14:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: quash warning about mixing signed/unsigned From jkrell at elego.de Sun Sep 20 23:17:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:17:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211703.0357BCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:17:02 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: fix comment slightly From jkrell at elego.de Sun Sep 20 23:25:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:25:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212528.4339CCC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:25:28 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: remove tabs, fix strange hang on Cygwin, avoid strange result of 0 on Cygwin, fix conversion warning; this code isn't currently used but might be at some time? From jkrell at elego.de Sun Sep 20 23:25:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:25:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212553.945E9CC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:25:53 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: fix small typo in comment From jkrell at elego.de Sun Sep 20 23:27:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:27:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212757.4E00ACC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:27:57 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: better ANSI prototypes for functions that take no parameters From jkrell at elego.de Sun Sep 20 23:56:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:56:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920215658.60860CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:56:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: For HP-UX, Interix, Cygwin, define altzone to be timezone - 3600, like Python does. From jkrell at elego.de Mon Sep 21 00:11:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:11:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920221106.0964FCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:11:05 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: DateBsd.m3 Log message: missing a lock mu around use localtime, probably only affects user threads and just wastes time on pthreads, where presumably localtime is already using a thread local (just like it is waste elsewhere in this file for pthreads) From jkrell at elego.de Mon Sep 21 00:30:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:30:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920223021.23588CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:30:21 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: DatePosix.m3 Log message: reentrance here is far from clear, so serialize From jkrell at elego.de Mon Sep 21 00:32:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:32:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920223248.68465CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:32:48 Added files: cm3/m3-libs/m3core/src/unix/Common/: UtimeInternal.i3 Log message: initial copy from Utime.i3; the way struct tm varies makes a lot of this stuff only useful to code that does different things on different platforms, as in m3core/src/time/POSIX From jkrell at elego.de Mon Sep 21 01:45:31 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:45:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234531.840212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:45:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c UtimeInternal.i3 m3unix.h Log message: remove ctime_r, not used, sort of not portable From jkrell at elego.de Mon Sep 21 01:46:36 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:46:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234636.F0B1B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:46:36 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeInternal.i3 Log message: work in progress: prune this way down From jkrell at elego.de Mon Sep 21 01:48:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:48:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234825.BA5592474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:48:25 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uexec.i3 Unix.i3 Uprocess.i3 Upwd.i3 Usched.i3 Usignal.i3 Utime.i3 UtimeInternal.i3 Uugid.i3 Uuio.i3 Log message: remove EXTERNAL pragma from INTERFACE it didn't act consistently seemingly and we ended up marking all the functions/variables anyway From jkrell at elego.de Mon Sep 21 01:49:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:49:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234959.CDDEB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:49:59 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Unix.i3 Log message: add a missing EXTERNAL pragma (but I don't think we use this function anyway) From jkrell at elego.de Mon Sep 21 10:29:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 10:29:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921082903.53B6ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 10:29:03 Added files: cm3/m3-libs/m3core/src/time/POSIX/: DatePosixC.c Log message: initial rewrite of much of DatePosix.m3 and DateBsd.m3 in C this probably will be used it will contain all of our use of struct tm, and then struct tm can disappear from Utime.m3 (well, ok, mktime is ok, but gmtime and localtime are not so much) From jkrell at elego.de Mon Sep 21 22:03:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:03:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921200359.D7F15CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:03:59 Modified files: cm3/scripts/: sysinfo.sh Log message: fix line endings From jkrell at elego.de Mon Sep 21 22:28:11 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:28:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921202811.F1070CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:28:11 Modified files: cm3/scripts/: pkgmap.sh Log message: fix sh for loop syntax From jkrell at elego.de Mon Sep 21 22:28:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:28:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921202845.760EECC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:28:45 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: fix sh for loop syntax From jkrell at elego.de Mon Sep 21 23:15:46 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:15:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211547.C27722474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:15:46 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: adjust for Cygwin, and only do this if reporting; maybe one line of awk can do? From jkrell at elego.de Mon Sep 21 23:17:42 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:17:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211742.AB2002474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:17:42 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: merge if blocks From jkrell at elego.de Mon Sep 21 23:19:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:19:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211922.C8F7B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:19:22 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: whitespace From jkrell at elego.de Mon Sep 21 23:19:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:19:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211945.4A7162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:19:44 Modified files: cm3/scripts/: pkgmap.sh Log message: merge with release From jkrell at elego.de Tue Sep 22 15:10:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 22 Sep 2009 15:10:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090922131033.C492B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/22 15:10:33 Modified files: cm3/m3-sys/m3cc/src/: Tag: release_branch_cm3_5_8 gnucc.common gnumake.common m3makefile Log message: manually merge most changes (in this directory) from head the main point here is to workaround strange bugs in older releases, such as seen in Hudson on PPC_DARWIN where the env variable is missing There was also the "rewrite" of equating SOLgnu and SOLsun. From hosking at elego.de Wed Sep 23 05:45:02 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 23 Sep 2009 5:45:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923034503.6EC922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/23 05:45:02 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTIO.i3 Log message: Fix comment for PutText. From jkrell at elego.de Wed Sep 23 14:06:32 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 23 Sep 2009 14:06:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923120632.131182474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/23 14:06:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: fix multiple parts of the date +%s replacement putting [] here is wrong use M3DATE=`pwd`/m3date Maybe we can just remove all of this entirely? (Solaris date doesn't support +%s, so we'd remove the uses, not just the this replacement.) From jkrell at elego.de Wed Sep 23 14:08:45 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 23 Sep 2009 14:08:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923120845.69ECF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/23 14:08:45 Modified files: cm3/scripts/: pkgmap.sh Log message: manually merge from release, the date +%s/m3date fix From wagner at elego.de Thu Sep 24 11:58:07 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 11:58:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924095807.641982474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 11:58:07 Added files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: generic script to perform package tests in Hudson From wagner at elego.de Thu Sep 24 16:25:25 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 16:25:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924142525.C9F692474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 16:25:25 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkginfo.txt Log message: change order for two test compilations From wagner at elego.de Thu Sep 24 16:53:07 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 16:53:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924145310.A5358CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 16:53:07 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: fix cleaning From wagner at elego.de Thu Sep 24 18:03:29 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 18:03:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924160329.C1CC22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 18:03:29 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: Add support for Hudson CLEAN variable. Add new test function test_build_system, which first tries a straight forward build of the core system and installs the compiler, and if that fails, tries again using the upgrade.sh script. If I understood correctly, the last step should not be needed anymore with an up-to-date cm3. From wagner at elego.de Thu Sep 24 18:36:12 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 18:36:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924163613.CF602CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 18:36:12 Added files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh Log message: first attempt at a generic hudson build script intended to replace the various lastok-build and release-build scripts within Hudson still untested! From hosking at elego.de Fri Sep 25 04:42:13 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 25 Sep 2009 4:42:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090925024213.A37D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/25 04:42:13 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Adr.m3 Cas.m3 CasP.m3 Dec.m3 Dispose.m3 Inc.m3 Loophole.m3 Subarray.m3 cm3/m3-sys/m3front/src/exprs/: CallExpr.i3 CallExpr.m3 CastExpr.m3 DerefExpr.m3 Expr.i3 Expr.m3 ExprRep.i3 KeywordExpr.m3 NamedExpr.m3 QualifyExpr.m3 RecordExpr.m3 SubscriptExpr.m3 VarExpr.m3 cm3/m3-sys/m3front/src/stmts/: AssignStmt.m3 WithStmt.m3 cm3/m3-sys/m3front/src/values/: Formal.m3 Value.i3 Value.m3 ValueRep.i3 Variable.m3 Log message: The generational collector is not concerned with stores of NIL (NULL is untraced) into the heap, so don't generate write barriers for those. From jkrell at elego.de Sun Sep 27 02:24:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:24:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927002430.3F1BBCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:24:29 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:24:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:24:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927002447.D33D02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:24:47 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:33:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:33:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003323.4EF172474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:33:22 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py make-deb.py Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:37:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:37:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003712.DF8622474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:37:12 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: upload .deb and add TARGET to .msi name From jkrell at elego.de Sun Sep 27 02:37:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:37:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003753.6B163CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:37:53 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: comment only From jkrell at elego.de Sun Sep 27 02:38:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:38:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003900.2148B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:38:59 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix .deb extension From jkrell at elego.de Sun Sep 27 02:43:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:43:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927004323.775372474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:43:23 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: show control file in log From jkrell at elego.de Sun Sep 27 03:15:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 3:15:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927011529.E453F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 03:15:27 Modified files: cm3/m3-sys/cm3/src/: Tag: release_branch_cm3_5_8 Main.m3 Log message: fix warning From jkrell at elego.de Sun Sep 27 10:04:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 10:04:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927080412.9BF49CC367@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 10:04:12 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix From jkrell at elego.de Sun Sep 27 11:32:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:32:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927093227.57ACECC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:32:27 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: use correct (existing) Target variable From jkrell at elego.de Sun Sep 27 11:57:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:57:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927095738.9A06ACC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:57:37 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: enable building .deb files, only for Linux targets but there is nothing really Linux specific about them From jkrell at elego.de Sun Sep 27 11:58:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:58:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927095817.AC279CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:58:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: remove do-nothing false command; what was tat for? From jkrell at elego.de Sun Sep 27 12:00:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 12:00:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927100030.60E92CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 12:00:30 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: just go ahead and make .debs for all targets except NT386 From jkrell at elego.de Sun Sep 27 12:01:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 12:01:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927100106.56713CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 12:01:06 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: enable lzma if possible From jkrell at elego.de Sun Sep 27 14:35:09 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:35:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927123509.DFFD32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:35:09 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Tag: release_branch_cm3_5_8 Main.m3 Log message: COPY from head (assuming no changes in this branch), picking up Tony's fix from Sep 1 2009. From jkrell at elego.de Sun Sep 27 14:39:19 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:39:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927123919.42D542474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:39:19 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Tag: release_branch_cm3_5_8 stderr.pgm Log message: copy from head From jkrell at elego.de Sun Sep 27 14:47:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:47:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927124717.6F9BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:47:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: put back false; the point is to prime the loop condition (which might need more work now with my .msi/.deb upload) From jkrell at elego.de Sun Sep 27 14:53:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:53:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927125327.6C446CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:53:27 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: put in the retry logic for msi/deb too that tgz has From jkrell at elego.de Sun Sep 27 14:59:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:59:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927125923.D4D58CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:59:23 Modified files: cm3/scripts/: make-dist.sh Log message: highly manual and partial merge from release branch (I haven't see that cvs knows which changes are in which branch, so you can't just have it merge branches nicely; nothing seem to handle branching as well as Perforce..) From jkrell at elego.de Sun Sep 27 15:01:36 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:01:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130137.10C482474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:01:36 Modified files: cm3/scripts/: upgrade.sh Log message: manual merge from release branch (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:03:07 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:03:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130308.043642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:03:07 Modified files: cm3/scripts/: pkgmap.sh Log message: manual partial merge from release branch (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:07:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:07:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130801.821D4CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:07:58 Modified files: cm3/scripts/: make-src-dist-all.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:09:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:09:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130944.02947CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:09:43 Modified files: cm3/scripts/: make-doc-dist.sh make-src-dist-gnu.sh make-src-dist-std.sh make-src-dist-sys.sh make-src-update.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:11:49 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:11:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927131149.D1F4ACC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:11:49 Modified files: cm3/scripts/: find-packages.sh find-src-dirs.sh list-pkg-dirs.sh make-script-dist.sh sysinfo.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 20:41:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:41:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927184151.D52E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:41:51 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: cleanup after previous failed runs of packaging From jkrell at elego.de Sun Sep 27 20:53:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:53:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927185347.E35F6CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:53:46 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 README Log message: merge from release -- put ./ in front of paths as I found to be apparently needed (on Solaris?) From jkrell at elego.de Sun Sep 27 20:54:13 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:54:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927185413.F42192474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:54:13 Modified files: cm3/scripts/regression/: README Log message: remove extra newline from end From hosking at elego.de Sun Sep 27 21:05:12 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190513.67321CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:05:12 Modified files: cm3/m3-libs/m3core/src/Csupport/: m3makefile Log message: dos2unix From jkrell at elego.de Sun Sep 27 21:08:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 21:08:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190812.A3EE5CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 21:08:12 Modified files: cm3/scripts/: sysinfo.sh Log message: significant merge from release "rewrite" platform sniffing - change if leaders to switches - drop support for FreeBSD 1-3 (just call them FreeBSD4) - sniff AMD64_DARWIN - consistently allow user to override - very much resembles sysinfo-new.sh, but a little more gradual change but above all, this is a merge from release and /very/ nearly matches it From jkrell at elego.de Sun Sep 27 21:09:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 21:09:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190944.64D92CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 21:09:43 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 sysinfo.sh Log message: very minor merge from head - drop DEC SRC support (M3BUILD, M3SHIP), unused, probably incomplete, only two lines of code deleted here - very minor formating (roughly another two lines edited) From hosking at elego.de Sun Sep 27 21:22:20 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:22:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192222.3569ACC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:22:20 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Implement ProcessEachStack. From hosking at elego.de Sun Sep 27 21:24:40 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:24:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192440.57A37CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:24:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Implement ProcessEachStack (stub: asserts false for now) and MyFPState. From hosking at elego.de Sun Sep 27 21:25:27 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:25:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192528.1D2F8CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:25:27 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: There are implementations of ProcessEachStack and MyFPState on all targets now. From hosking at elego.de Sun Sep 27 21:26:11 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:26:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192612.3ADC7CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:26:11 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: IMPORT FloatMode! From hosking at elego.de Mon Sep 28 03:35:18 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 3:35:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928013518.B6B8B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 03:35:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Log message: Add libz to SYSTEM_LIBS. From hosking at elego.de Mon Sep 28 05:33:22 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 5:33:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928033322.F1D43CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 05:33:22 Modified files: cm3/m3-ui/vbtkit/src/lego/POSIX/: ScrollerVBTClass.m3 Log message: Fix crash reported for PPC_DARWIN. Rescreen can be called by other threads while another thread is in the middle of Repaint, and Rescreen may set v.shadow to NIL, which makes Repaint very unhappy. Lock v.mu to prevent unsynchronized access/changes to v.shadow. From hosking at elego.de Mon Sep 28 06:39:09 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 6:39:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928043910.0C1BECC36A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 06:39:09 Modified files: cm3/m3-ui/vbtkit/src/lego/POSIX/: Tag: release_branch_cm3_5_8 ScrollerVBTClass.m3 Log message: Merge from head: fix for formsedit crash reported for PPC_DARWIN, but fix for all POSIX targets. From hosking at elego.de Mon Sep 28 07:15:32 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:15:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928051532.4C1812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:15:32 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:54:08 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:54:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055409.D7555CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:54:08 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:54:58 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:54:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055459.107A0CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:54:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:57:49 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:57:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055749.AA3ECCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:57:49 Modified files: cm3/m3-ui/ui/src/vbt/: VBT.m3 Log message: Pedantic check for mutex holder reworked to use overriding of MUTEX methods, instead of nasty and incorrect (user-thread dependent) hacky LOOPHOLE. From jkrell at elego.de Mon Sep 28 10:33:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:33:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928083345.82ABECC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:33:45 Modified files: cm3/: Tag: release_branch_cm3_5_8 m3overrides Log message: copy from head -- just adds to overloads, pkl-fonts=m3-ui/juno-2/juno-app and EyesVBT=m3-ui/ui/test From jkrell at elego.de Mon Sep 28 10:38:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:38:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928083857.624B3CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:38:51 Modified files: cm3/m3-comm/netobj/tests/echorw/src/: m3makefile cm3/m3-comm/netobj/tests/fd/src/: m3makefile cm3/m3-comm/netobj/tests/fd1/src/: m3makefile cm3/m3-comm/netobj/tests/longcall/src/: m3makefile cm3/m3-comm/netobj/tests/perf/src/: m3makefile cm3/m3-comm/netobj/tests/pkl/src/: m3makefile Log message: copy from release branch -- add quotes around quake strings without quotes was an old DEC SRC Modula-3 allowance as I understand From jkrell at elego.de Mon Sep 28 10:57:29 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:57:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928085729.991FACC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:57:28 Modified files: cm3/: m3overrides Log message: add obliqlibemb=m3-obliq, udp=m3-comm From jkrell at elego.de Mon Sep 28 10:59:54 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:59:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928085954.7F247CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:59:54 Modified files: cm3/m3-comm/events/src/: m3overrides cm3/m3-comm/events/tests/msg/src/: m3overrides cm3/m3-comm/events/tests/work/src/: m3overrides cm3/m3-comm/netobj/src/: m3overrides cm3/m3-comm/netobjd/src/: m3overrides cm3/m3-comm/rdwr/src/: m3overrides cm3/m3-comm/rdwr/test/echo/src/: m3overrides cm3/m3-comm/rdwr/test/john/src/: m3overrides cm3/m3-comm/serial/src/: m3overrides cm3/m3-comm/sharedobj/src/: m3overrides cm3/m3-comm/sharedobj/tests/obsequence/src/: m3overrides cm3/m3-comm/sharedobjgen/src/: m3overrides cm3/m3-comm/stubgen/src/: m3overrides cm3/m3-comm/tapi/src/: m3overrides cm3/m3-comm/tcp/src/: m3overrides cm3/m3-comm/udp/src/: m3overrides cm3/m3-comm/udp/test/src/: m3overrides Log message: cleanup more m3overrides files, to mainly just include ROOT & /m3overrides, but not always From jkrell at elego.de Mon Sep 28 11:32:38 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:32:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928093238.B0834CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:32:38 Modified files: cm3/m3-obliq/metasyn/src/: m3overrides cm3/m3-obliq/obliq/src/: m3overrides cm3/m3-obliq/obliqbin3D/src/: m3overrides cm3/m3-obliq/obliqbinanim/src/: m3overrides cm3/m3-obliq/obliqbinmin/src/: m3overrides cm3/m3-obliq/obliqbinstd/src/: m3overrides cm3/m3-obliq/obliqbinui/src/: m3overrides cm3/m3-obliq/obliqlib3D/src/: m3overrides cm3/m3-obliq/obliqlibanim/src/: m3overrides cm3/m3-obliq/obliqlibemb/src/: m3overrides cm3/m3-obliq/obliqlibm3/src/: m3overrides cm3/m3-obliq/obliqlibui/src/: m3overrides cm3/m3-obliq/obliqparse/src/: m3overrides cm3/m3-obliq/obliqprint/src/: m3overrides cm3/m3-obliq/obliqrt/src/: m3overrides cm3/m3-obliq/obliqsrvstd/src/: m3overrides cm3/m3-obliq/obliqsrvui/src/: m3overrides cm3/m3-obliq/synex/src/: m3overrides cm3/m3-obliq/synloc/src/: m3overrides cm3/m3-obliq/visualobliq/src/: m3overrides cm3/m3-obliq/vocgi/src/: m3overrides cm3/m3-obliq/voquery/src/: m3overrides cm3/m3-obliq/vorun/src/: m3overrides Log message: cleanup all m3-obliq m3overrides files to just include ROOT m3overrides From jkrell at elego.de Mon Sep 28 11:43:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:43:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928094326.441F82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:43:26 Modified files: cm3/m3-ui/anim3D/src/: m3overrides cm3/m3-ui/bicycle/src/: m3overrides cm3/m3-ui/cmvbt/src/: m3overrides cm3/m3-ui/codeview/src/: m3overrides cm3/m3-ui/formsedit/src/: m3overrides cm3/m3-ui/formsvbt/src/: m3overrides cm3/m3-ui/formsvbtpixmaps/src/: m3overrides cm3/m3-ui/formsview/src/: m3overrides cm3/m3-ui/juno-2/juno-app/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/lexer/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/parser/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/scope/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/linear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/nonlinear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/runtime/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/solve/src/: m3overrides Log message: cleanup more m3overrides files some of this is removing copyright statements which is hopefully ok, since I replaced entire files with one line that I wrote.. From jkrell at elego.de Mon Sep 28 11:46:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:46:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928094648.197DECC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:46:47 Modified files: cm3/m3-www/deckscape/src/: m3overrides cm3/m3-www/http/src/: m3overrides cm3/m3-www/proxy/src/: m3overrides cm3/m3-www/web/src/: m3overrides cm3/m3-www/webcat/src/: m3overrides cm3/m3-www/webscape/src/: m3overrides Log message: replace all m3-www m3overrides files with the same 31 byte file From jkrell at elego.de Mon Sep 28 11:58:17 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:58:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928095817.8C1782474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:58:17 Modified files: cm3/m3-ui/ui/src/winvbt/: WinContext.m3 Log message: better to compare against false than true, lest there be other non-zero true values From jkrell at elego.de Mon Sep 28 12:57:52 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 12:57:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928105753.05ED12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 12:57:52 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: should fix an error seen in Hudson From jkrell at elego.de Mon Sep 28 13:13:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 13:13:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928111334.5B642CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 13:13:34 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix it to compile From wagner at elego.de Mon Sep 28 18:24:54 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:24:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928162454.913D92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:24:54 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: fix undefined BSET in test_build_system From wagner at elego.de Mon Sep 28 18:37:44 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:37:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928163752.EED772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:37:44 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: fix typo in test_build_system From wagner at elego.de Mon Sep 28 18:51:19 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:51:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928165120.E96D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:51:19 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh Log message: heed different workspace layouts on master and slaves From hosking at elego.de Mon Sep 28 18:57:37 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 18:57:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928165738.767E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 18:57:37 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Log message: Let's see if this works with the next tinderbox run... From wagner at elego.de Mon Sep 28 19:15:56 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 19:15:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928171557.7D55B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 19:15:56 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: heed different workspace layouts on master and slaves From wagner at elego.de Mon Sep 28 21:13:14 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 21:13:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928191314.537B6CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 21:13:14 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh hudson_pkg_tests.sh Log message: fix prebuilt m3cc logic From hosking at elego.de Tue Sep 29 02:04:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 29 Sep 2009 2:04:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929000448.6459C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/29 02:04:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Clean up Fork code -- no need to signal parent once forked thread is up and running. Joining parent will wait properly on the thread's completion condition. From jkrell at elego.de Tue Sep 29 10:24:03 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:24:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082403.8654CCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:24:03 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: hardcode SL as / From jkrell at elego.de Tue Sep 29 10:24:55 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:24:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082455.6732DCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:24:55 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: hardcode SL as / From jkrell at elego.de Tue Sep 29 10:26:34 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:26:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082634.0B7A4CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:26:34 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: The detection of if a platform has a good FloatMode implementation has never really been correct, but worked by luck. Remove this mechanism for now, until any platform does have a good FloatMode implementation. (It should be easy on NT386 at least, though not on AMD64_NT for example.) From jkrell at elego.de Tue Sep 29 10:28:54 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:28:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082854.48DD3CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:28:54 Modified files: cm3/scripts/regression/: user-defs.sh-example Log message: remove extra newline From jkrell at elego.de Tue Sep 29 10:32:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:32:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929083239.3C215CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:32:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: The idle thread mechanism is apparently buggy and leads to heap corruption and crashes. Juno was apparently just a heavy thread user (unnecessarily so) and is where the crashes were consistently seen (though with somewhat inconsistent details). First provide a small change that sets the idle thread maximum to 0, in case anyone wants to experiment and fix it. Next will delete the whole thing. From jkrell at elego.de Tue Sep 29 10:47:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:47:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929084750.EB8D2CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:47:50 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix my regression from April 21 2009 that turned an EnterCriticalSection into a LeaveCriticalSection; this presumably the problem! From jkrell at elego.de Tue Sep 29 10:52:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:52:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929085257.7D43FCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:52:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: repair LeaveCriticalSection_activeMu() to EnterCriticalSection_activeMu() see: http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3.diff?r1=1.36;r2=1.37;f=u From jkrell at elego.de Tue Sep 29 11:54:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 11:54:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929095406.7BF26CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 11:54:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: eliminate idle thread code pass NIL for last parameter to ReleaseSemaphore assign t.closure := closure earlier, before any possible race From jkrell at elego.de Tue Sep 29 12:04:28 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:04:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929100428.82F18CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:04:28 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: make it look a little more like ThreadPThread.m3 with respect to no need to lock setting of thread.result or reading thread.closure remove assertion that thread.closure is non-NIL (maybe Win32 was better here?) assert that allThreads # me; that is, the initial thread never gets here redefine thread id from an always incrementing number to instead match the Win32 thread id Index: ThreadWin32.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3,v retrieving revision 1.60 diff -u -w -r1.60 ThreadWin32.m3 --- ThreadWin32.m3 29 Sep 2009 09:54:06 -0000 1.60 +++ ThreadWin32.m3 29 Sep 2009 10:02:29 -0000 @@ -17,15 +17,14 @@ FROM WinBase IMPORT WaitForSingleObject, INFINITE, ReleaseSemaphore, GetCurrentProcess, DuplicateHandle, GetCurrentThread, CreateSemaphore, CloseHandle, CreateThread, ResumeThread, Sleep, SuspendThread, - GetThreadContext, VirtualQuery, GetLastError, CREATE_SUSPENDED; + GetThreadContext, VirtualQuery, GetLastError, CREATE_SUSPENDED, + GetCurrentThreadId; (*----------------------------------------- Exceptions, types and globals ---*) VAR default_stack: DWORD := 8192; - nextId: Id := 1; - threadMu: Mutex; (* Global lock for internal fields of Thread.T *) @@ -499,31 +498,21 @@ END ThreadBase; PROCEDURE RunThread (me: Activation) = - VAR self: T; cl: Closure; res: REFANY; + VAR self: T; BEGIN EnterCriticalSection_slotMu(); self := slots [me.slot]; LeaveCriticalSection_slotMu(); - LockMutex(threadMu); - cl := self.closure; - self.id := nextId; INC (nextId); - UnlockMutex(threadMu); - - IF (cl = NIL) THEN - Die (ThisLine(), "NIL closure passed to Thread.Fork!"); - END; - (* Run the user-level code. *) IF perfOn THEN PerfRunning(self.id) END; - res := cl.apply(); + self.result := self.closure.apply(); + IF perfOn THEN PerfChanged(self.id, State.dying) END; LockMutex(threadMu); (* mark "self" done and clean it up a bit *) - self.result := res; self.completed := TRUE; Broadcast(self.cond); (* let everybody know that "self" is done *) - IF perfOn THEN PerfChanged(self.id, State.dying) END; UnlockMutex(threadMu); IF perfOn THEN PerfDeleted(self.id) END; @@ -539,7 +528,7 @@ (* remove ourself from the list of active threads *) EnterCriticalSection_activeMu(); - IF allThreads = me THEN allThreads := me.next; END; + <*ASSERT allThreads # me*> me.next.prev := me.prev; me.prev.next := me.next; me.next := NIL; @@ -571,6 +560,7 @@ act := t.act; act.handle := CreateThread(NIL, stack_size, ThreadBase, act, CREATE_SUSPENDED, ADR(id)); + t.id := id; EnterCriticalSection_activeMu(); act.next := allThreads; act.prev := allThreads.prev; @@ -932,7 +922,7 @@ BEGIN threadMu := NEW(Mutex); self := CreateT(me); - self.id := nextId; INC (nextId); + self.id := GetCurrentThreadId(); mutex := NEW(MUTEX); condition := NEW(Condition); From jkrell at elego.de Tue Sep 29 12:09:59 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:09:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929100959.AFD24CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:09:59 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove obsolete comment about rebirth From jkrell at elego.de Tue Sep 29 12:27:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:27:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929102708.6344CCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:27:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, instead of using one global threadMu for the fields of all threads. Note that Win32 Modula-3 threads/mutexes still scale well due to the the critical section cm that guards everything. Probably can't be fixed until there is a version that depends on the condition variables introduced in Vista. From jkrell at elego.de Tue Sep 29 12:45:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:45:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929104542.3237ECC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:45:41 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: LeaveCriticalSection_activeMu => EnterCriticalSection_activeMu where needed MaxIdle => 0 to disable the idle thread functionality This way Juno no longer crashes worse than historically. From jkrell at elego.de Tue Sep 29 12:51:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:51:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929105156.79234CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:51:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: cleanup: no need for parens around top level expression in if contrary to C From jkrell at elego.de Tue Sep 29 12:52:27 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:52:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929105227.62272CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:52:27 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: restore one set of parens From jkrell at elego.de Tue Sep 29 13:14:38 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:14:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929111438.F34F3CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:14:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix error messages again as Tony had done on Feb 16 2009 From jkrell at elego.de Tue Sep 29 13:36:04 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:36:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929113604.5899CCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:36:04 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: rename "cs" to "heap" since I believe it is conceptually "the heap lock" "cs" is too short of a name, for certain From jkrell at elego.de Tue Sep 29 13:40:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:40:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929114006.0B6C7CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:40:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: rename the lock "cm" to "giant" I believe it a broad, albeit maybe briefly held, lock that is needed because condition variables are difficult to implement well on Win32 (prior to Vista, upon which they are they are trivial) either way, "cm" is not a great name From jkrell at elego.de Tue Sep 29 14:15:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 14:15:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929121533.5670BCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 14:15:33 Modified files: cm3/m3-ui/ui/src/winvbt/: WinContext.m3 Log message: let Juno limp along much better but still doesn't really work From jkrell at elego.de Tue Sep 29 14:24:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 14:24:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929122413.57386CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 14:24:13 Modified files: cm3/m3-ui/juno-2/juno-app/src/: Juno.m3 Log message: add @M3no-trestle-await-delete command line option This enables test cases on Windows like: for /l %a in (1 1 20) do start /wait /min \cm3\bin\Juno.exe @M3no-trestle-await-delete see if it gets to the end or not 20 worked testing 100 now From jkrell at elego.de Tue Sep 29 15:00:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:00:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929130013.409EDCC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:00:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: in comments also: cs => heap cm => giant From jkrell at elego.de Tue Sep 29 15:29:24 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:29:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929132925.096FDCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:29:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: rename 'cond' to 'join' to match pthreads From jkrell at elego.de Tue Sep 29 15:30:52 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:30:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133052.6342CCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:30:52 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move PerfChanged(alive) from Fork to RunThread to patch pthreads and because it enables more profitable mimicing of pthreads imminently From jkrell at elego.de Tue Sep 29 15:35:37 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:35:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133537.9AE76CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:35:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: more adjustments to perf callbacks to match pthreads -- this will let us stop storing the thread id redundantly From jkrell at elego.de Tue Sep 29 15:39:42 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:39:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133942.B18BBCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:39:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 ThreadWin32.i3 ThreadWin32.m3 Log message: like pthread, stop passing around and storing extra thread id just call GetCurrentThreadId as needed (pthread uses the slot index; we have that too, but this is probably better) From jkrell at elego.de Tue Sep 29 15:48:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:48:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929134833.00150CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:48:32 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: reduce critical section -- esp. remove kernel call CloseHandle From hosking at cs.purdue.edu Tue Sep 29 17:11:00 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 29 Sep 2009 11:11:00 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090929102708.6344CCC365@birch.elegosoft.com> References: <20090929102708.6344CCC365@birch.elegosoft.com> Message-ID: On 29 Sep 2009, at 12:27, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/29 12:27:08 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, > instead of using one global threadMu for the fields of all threads. > > Note that Win32 Modula-3 threads/mutexes still scale well due to the don't scale... > the critical section cm that guards everything. Probably can't be > fixed until there is a version that depends on the condition > variables > introduced in Vista. From jay.krell at cornell.edu Tue Sep 29 17:15:45 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 29 Sep 2009 15:15:45 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090929102708.6344CCC365@birch.elegosoft.com> Message-ID: That's what I meant sorry. > From: hosking at cs.purdue.edu > To: jkrell at elego.de > Date: Tue, 29 Sep 2009 11:11:00 -0400 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > On 29 Sep 2009, at 12:27, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 09/09/29 12:27:08 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, > > instead of using one global threadMu for the fields of all threads. > > > > Note that Win32 Modula-3 threads/mutexes still scale well due to the > > don't scale... > > > the critical section cm that guards everything. Probably can't be > > fixed until there is a version that depends on the condition > > variables > > introduced in Vista. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 29 17:34:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 17:34:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929153435.BF668CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 17:34:35 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: change: InnerWait: .. Leave(giant) UnlockMutex: TlsGetValue() Enter(giant) do stuff Leave(giant) to: InnerWait: .. UnlockMutex: TlsGetValue() Enter(giant) (recursive now) do stuff Leave(giant) Leave(giant) This increases the critical section ever so slightly, which can't be too bad, and increases atomicity, which can't be bad. Juno now fails rarely, but not never. Sometimes it hangs. Sometimes it has an array access out of bounds. Assuming m.release() is UnlockMutex. Renaming the mutex to "giant" really does make it easier to understand. From hosking at elego.de Wed Sep 30 15:14:59 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 30 Sep 2009 15:14:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090930131459.0FE07CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/30 15:14:59 Modified files: cm3/m3-tools/cvsup/suplib/src/: m3makefile Log message: Let's try this for Solaris... From hosking at elego.de Wed Sep 30 15:15:23 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 30 Sep 2009 15:15:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090930131523.4840BCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/30 15:15:23 Modified files: cm3/m3-tools/cvsup/quake/: cvsup.quake Log message: Let's try this for Solaris... From wagner at elego.de Tue Sep 1 01:49:50 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 1:49:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090831234950.E92B02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 01:49:50 Added files: cm3/m3-sys/m3tests/src/p2/p213/: Tag: release_branch_cm3_5_8 Main.m3 Log message: add missing file From wagner at elego.de Tue Sep 1 07:41:22 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 7:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901054122.69B98CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 07:41:22 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh version Log message: move default version to pre-RC4 From hosking at elego.de Tue Sep 1 18:14:22 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 1 Sep 2009 18:14:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901161422.C9BE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/01 18:14:22 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Main.m3 Log message: Cleanup synchronization. There should be no races now. From hosking at elego.de Tue Sep 1 18:14:47 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 1 Sep 2009 18:14:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901161447.7E8752474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/01 18:14:47 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: stderr.pgm Log message: Output changed slightly. From wagner at elego.de Tue Sep 1 21:21:51 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 21:21:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901192152.06A1E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 21:21:51 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: heed DS from environment, set VERSION and CM3VERSION for RCs From wagner at elego.de Wed Sep 2 08:13:08 2009 From: wagner at elego.de (Olaf Wagner) Date: Wed, 2 Sep 2009 8:13:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090902061309.17F232474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/02 08:13:08 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 update-releng-index.sh Log message: better exclude non-RC archives From wagner at elego.de Wed Sep 2 19:12:13 2009 From: wagner at elego.de (Olaf Wagner) Date: Wed, 2 Sep 2009 19:12:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090902171213.8986A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/02 19:12:13 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 known-problems.html Log message: update known problems for RC3 From jkrell at elego.de Thu Sep 3 17:55:42 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 17:55:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903155543.023632474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 17:55:42 Modified files: cm3/: m3overrides Log message: add pkl-fonts From jkrell at elego.de Thu Sep 3 17:56:53 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 17:56:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903155653.4D3AB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 17:56:53 Modified files: cm3/m3-ui/juno-2/juno-app/src/: m3overrides Log message: remove build_standalone -- just use the one global m3overrides file From jkrell at elego.de Thu Sep 3 18:05:46 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:05:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903160546.4DC7B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:05:46 Modified files: cm3/m3-ui/juno-2/juno-compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/lexer/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/parser/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/scope/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/linear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/nonlinear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/runtime/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/solve/src/: m3overrides Log message: use one central m3overrides file From jkrell at elego.de Thu Sep 3 18:14:53 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:14:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903161453.B28CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:14:53 Modified files: cm3/: m3overrides Log message: add EyesVBT -- perhaps there should be some intermediate m3overrides, since this is only used by a little test code From jkrell at elego.de Thu Sep 3 18:19:19 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:19:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903161919.504652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:19:19 Modified files: cm3/m3-ui/PEX/src/: m3overrides cm3/m3-ui/X11R4/src/: m3overrides cm3/m3-ui/images/src/: m3overrides cm3/m3-ui/juno-2/juno-app/pkl-fonts/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/src/: m3overrides cm3/m3-ui/jvideo/src/: m3overrides cm3/m3-ui/m3zume/src/: m3overrides cm3/m3-ui/mg/src/: m3overrides cm3/m3-ui/mgkit/src/: m3overrides cm3/m3-ui/motif/src/: m3overrides cm3/m3-ui/opengl/src/: m3overrides cm3/m3-ui/ui/src/: m3overrides cm3/m3-ui/ui/test/Argus/src/: m3overrides cm3/m3-ui/ui/test/BadBricks/src/: m3overrides cm3/m3-ui/ui/test/ButtonTest/src/: m3overrides cm3/m3-ui/ui/test/Cards/src/: m3overrides cm3/m3-ui/ui/test/ColorMonster/src/: m3overrides cm3/m3-ui/ui/test/Draw/src/: m3overrides cm3/m3-ui/ui/test/EyesVBT/src/: m3overrides cm3/m3-ui/ui/test/Hello/src/: m3overrides cm3/m3-ui/ui/test/Monster/src/: m3overrides cm3/m3-ui/ui/test/Sketch2/src/: m3overrides cm3/m3-ui/ui/test/StarAnim/src/: m3overrides cm3/m3-ui/ui/test/Track/src/: m3overrides cm3/m3-ui/ui/test/TypeInTest/src/: m3overrides cm3/m3-ui/vbtkit/src/: m3overrides cm3/m3-ui/videovbt/src/: m3overrides cm3/m3-ui/webvbt/src/: m3overrides cm3/m3-ui/zeus/src/: m3overrides Log message: use one central m3overrides file plus some unusual content in m3-ui/zeus/src/m3overrides From jkrell at elego.de Fri Sep 4 04:43:12 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 4:43:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904024313.3A355CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 04:43:12 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: remove unused parameter From hosking at elego.de Fri Sep 4 05:32:52 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 4 Sep 2009 5:32:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904033252.89BDE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/04 05:32:51 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Don't hack thread.inCritical unnecessarily. Just make sure this thread is not inCritical when acquiring/releasing the heap lock. From hosking at elego.de Fri Sep 4 05:36:35 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 4 Sep 2009 5:36:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904033635.52E422474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/04 05:36:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Keep the unused parameter to Move. We are going to use it soon for concurrent movers. From jkrell at elego.de Fri Sep 4 08:42:59 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 8:42:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904064259.A7E05CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 08:42:59 Added files: cm3/scripts/examples/: make-compiler.cmd make-juno.cmd Log message: examples From jkrell at elego.de Fri Sep 4 09:43:18 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:43:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074319.551C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:43:17 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: my buildin of Juno was inadvertantly using preexisting stubgen, m3bundle, etc. so add more packages here, NOT experimentally derived or verified, but approximate/guessing and I got it working eventually (running/crashing, not fixed the bug yet..) From jkrell at elego.de Fri Sep 4 09:44:04 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:44:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074404.71A77CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:44:04 Modified files: cm3/scripts/examples/: make-compiler.cmd make-juno.cmd Log message: a little flexibility From jkrell at elego.de Fri Sep 4 09:44:45 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:44:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074445.28C512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:44:45 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: fix formating (indents should be a multiple of 4) From jkrell at elego.de Fri Sep 4 09:52:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:52:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904075247.6D1202474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:52:46 Modified files: cm3/scripts/examples/: make-juno.cmd make-compiler.cmd Log message: fix From jkrell at elego.de Fri Sep 4 10:05:38 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 10:05:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904080538.C00BF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 10:05:38 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: fix order From jkrell at elego.de Fri Sep 4 12:03:58 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:03:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904100358.6AF682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:03:58 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: go back a version to keep assertions in RTCollector.m3 succeeding From jay.krell at cornell.edu Fri Sep 4 12:01:33 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 4 Sep 2009 10:01:33 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090904033252.89BDE2474001@birch.elegosoft.com> References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: This breaks things badly. I'm going to undo it. *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 1430 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 2253 *** Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common\RTCollector.m3 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common\RTCollector.m3 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common\RTCollector.m3 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3 ......... ......... ... more frames ... - Jay > Date: Fri, 4 Sep 2009 05:32:52 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/04 05:32:51 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Don't hack thread.inCritical unnecessarily. Just make sure this thread is not > inCritical when acquiring/releasing the heap lock. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Sep 4 12:24:07 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:24:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102408.045FB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:24:07 Modified files: cm3/m3-sys/m3quake/src/: MxConfig.i3 MxConfig.m3 QMachine.i3 QMachine.m3 Log message: changes from release branch -- tracing From jkrell at elego.de Fri Sep 4 12:25:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:25:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102526.77D0F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:25:26 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Makefile.m3 Log message: changes from release branch: tracing, root export, fix unresolve, remove debug output, restore printing target From jkrell at elego.de Fri Sep 4 12:26:39 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:26:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102639.B83E7CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:26:39 Modified files: cm3/m3-sys/cm3/src/: Tag: release_branch_cm3_5_8 Main.m3 Log message: change from head -- remove some predefines that are fairly new From hosking at cs.purdue.edu Fri Sep 4 15:14:49 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 4 Sep 2009 09:14:49 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: Umm. That assertion should never fail. I put it in to make sure we weren't totally broken in the threads system. (One should never have a negative thread.inCritical value, and that check makes sure the DEC on the next line is correct. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: > This breaks things badly. > I'm going to undo it. > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 1430 > *** > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 2253 > *** > Stack trace: > FP PC Procedure > --------- --------- ------------------------------- > 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common > \RTCollector.m3 > 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common > \RTCollector.m3 > 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common > \RTCollector.m3 > 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common > \RTHeapMap.m3 > ......... ......... ... more frames ... > > > - Jay > > > > Date: Fri, 4 Sep 2009 05:32:52 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/04 05:32:51 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Don't hack thread.inCritical unnecessarily. Just make sure this > thread is not > > inCritical when acquiring/releasing the heap lock. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Fri Sep 4 15:20:03 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 4 Sep 2009 13:20:03 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: Maybe it is merely 0? This breaks things right away -- can't build the compiler, not related to Juno investigation. - Jay CC: hosking at elego.de; m3commit at elegosoft.com From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Subject: Re: [M3commit] CVS Update: cm3 Date: Fri, 4 Sep 2009 09:14:49 -0400 Umm. That assertion should never fail. I put it in to make sure we weren't totally broken in the threads system. (One should never have a negative thread.inCritical value, and that check makes sure the DEC on the next line is correct. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: This breaks things badly. I'm going to undo it. *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 1430 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 2253 *** Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common\RTCollector.m3 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common\RTCollector.m3 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common\RTCollector.m3 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3 ......... ......... ... more frames ... - Jay > Date: Fri, 4 Sep 2009 05:32:52 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/04 05:32:51 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Don't hack thread.inCritical unnecessarily. Just make sure this thread is not > inCritical when acquiring/releasing the heap lock. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Fri Sep 4 19:31:18 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 4 Sep 2009 13:31:18 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: OK, I think I have diagnosed the problem, which also explains my lockups on mentor on I386_DARWIN. Fix incoming... Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: > This breaks things badly. > I'm going to undo it. > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 1430 > *** > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 2253 > *** > Stack trace: > FP PC Procedure > --------- --------- ------------------------------- > 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common > \RTCollector.m3 > 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common > \RTCollector.m3 > 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common > \RTCollector.m3 > 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common > \RTHeapMap.m3 > ......... ......... ... more frames ... > > > - Jay > > > > Date: Fri, 4 Sep 2009 05:32:52 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/04 05:32:51 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Don't hack thread.inCritical unnecessarily. Just make sure this > thread is not > > inCritical when acquiring/releasing the heap lock. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sat Sep 5 18:09:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 5 Sep 2009 18:09:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090905160929.A10CCCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/05 18:09:29 Added files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: repeating this exercise on I386_DARWIN.. From jkrell at elego.de Sat Sep 5 18:24:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 5 Sep 2009 18:24:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090905162404.DA07C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/05 18:24:04 Modified files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: initial untested versions From jkrell at elego.de Sun Sep 6 12:42:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 12:42:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906104256.D7325CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 12:42:56 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: enough to start building m3cc From jkrell at elego.de Sun Sep 6 12:59:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 12:59:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906105942.08428CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 12:59:42 Modified files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: some steps forward From jkrell at elego.de Sun Sep 6 13:04:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:04:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906110405.8AE9DCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:04:05 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround buggy text, odd that I didn't see this on NT From jkrell at elego.de Sun Sep 6 13:15:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:15:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906111551.36791CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:15:51 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround buggy text, the consistency here is expected and good From jkrell at elego.de Sun Sep 6 13:26:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:26:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906112653.5E682CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:26:50 Modified files: cm3/scripts/examples/: make-juno.sh make-compiler.sh Log message: fix newlines, add missing X11 package, make success clearer; they both work now From jkrell at elego.de Sun Sep 6 14:45:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 14:45:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906124517.D11C7CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 14:45:16 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: adapt to older trees that want GNU_CC and GNU_CFLAGS on the config file, whereas current config files do not define them will also need to adapt to older trees whose libm3 has a list of targets in it, or maybe we'll just patch that or maybe this current investigation can make do without versions with that bug From jkrell at elego.de Sun Sep 6 15:26:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:26:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906132604.92220CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:26:04 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: In order to build older libm3 with a bad dependency on cm3, copy m3core and libm3 from boot and don't build them for the first stage. Since sysutils has a history of dependending on contemporary m3core, copy it too. Since older cm3cg is broken in a way I haven't debugged, slow to build, and not relevant to current investigation, don't build it. From jkrell at elego.de Sun Sep 6 15:39:35 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:39:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906133935.DD8A9CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:39:35 Added files: cm3/doc/notes/: building-old.txt Log message: Some notes on building/running old trees. From jkrell at elego.de Sun Sep 6 15:39:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:39:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906133955.2BDB8CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:39:55 Modified files: cm3/doc/notes/: building-old.txt Log message: and a bug noted that should go in trac From jkrell at elego.de Sun Sep 6 17:32:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 17:32:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906153251.000EE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 17:32:50 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround some sort of overflow in older compilers related to the GetM3Back function -- assuming native builds From hosking at elego.de Tue Sep 8 07:54:58 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 7:54:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908055458.ADC55247400B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 07:54:58 Modified files: cm3/m3-libs/m3core/src/convert/: CConvert.m3 cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 RTCollector.m3 RTCollectorSRC.i3 RTHeapInfo.m3 RTHeapRep.i3 RTHeapRep.m3 RTHeapStats.m3 RTLinker.m3 RTOS.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: Tidy up use of thread.inCritical to only occur in allocation sequences and in thread stoppage. This simplifies reasoning. Refactored use of heap lock in the process. This may be better implemented on PTHREAD targets using a recursive pthread mutex instead of one we roll ourselves from a non-recursive mutex. Still witnessing random hangs in Juno and mentor on I386_DARWIN. Strange, I thought this was working previously. I wonder if there is some sort of race in the GUI code somewhere? From jkrell at elego.de Tue Sep 8 10:39:22 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 10:39:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908083922.326BDCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 10:39:22 Modified files: cm3/m3-libs/m3core/src/unix/Common/: m3unix.h Upthread.c cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: RTMachineC.c Log message: convert properly between the Modula-3 notion of pthread_t -- void* -- and the possibly different native pthread_t, which might be int or size_t or another pointer type Unfortunately this doesn't actually fix anything. Darwin pthread_t is in fact a pointer, so void* was definitely close enough. From jkrell at elego.de Tue Sep 8 12:20:04 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 12:20:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908102004.27BA6CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 12:20:04 Removed files: cm3/m3-libs/m3core/src/runtime/common/: RTThreadInit.i3 Log message: delete unused file From jkrell at elego.de Tue Sep 8 13:05:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:05:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110541.BCFE92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:05:41 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadInternal.i3 Log message: fix it to compile; Juno on NT still crashes From jkrell at elego.de Tue Sep 8 13:08:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:08:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110839.0FB9F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:08:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 Log message: fix it to compile From jkrell at elego.de Tue Sep 8 13:09:16 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:09:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110916.338962474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:09:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 Log message: fix it to compile From jkrell at elego.de Tue Sep 8 13:16:27 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:16:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908111627.AB3A92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:16:27 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: add UNSAFE here so it compiles; maybe MyId should be moved to Thread or ThreadF split into ThreadF and ThreadUnsafeF? From jay.krell at cornell.edu Tue Sep 8 13:41:59 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 11:41:59 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090908055458.ADC55247400B@birch.elegosoft.com> References: <20090908055458.ADC55247400B@birch.elegosoft.com> Message-ID: Tony did you mean to alter Init1/Init2 in RTCollector like this? Reversing the order, perhaps breaking paranoidgc, perhaps breaking user threads? user threads are broken, but I had tried them in month. I was just trying them to see if they worked better.. Maybe you were out of date and mismerged? The removal of the thread parameter to LockHeap..you had added that not too long ago, but removing it deliberate? I don't think the Juno hang is GUI related. The problematic threads I think are just dealing with the non-GUI libm3/formater thing. Not certain though. - Jay > Date: Tue, 8 Sep 2009 07:54:58 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 07:54:58 > > Modified files: > cm3/m3-libs/m3core/src/convert/: CConvert.m3 > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > RTCollector.m3 > RTCollectorSRC.i3 > RTHeapInfo.m3 > RTHeapRep.i3 > RTHeapRep.m3 > RTHeapStats.m3 > RTLinker.m3 RTOS.i3 > cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 > cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 > > Log message: > Tidy up use of thread.inCritical to only occur in allocation sequences and in > thread stoppage. This simplifies reasoning. Refactored use of heap lock > in the process. This may be better implemented on PTHREAD targets using a > recursive pthread mutex instead of one we roll ourselves from a non-recursive > mutex. > > Still witnessing random hangs in Juno and mentor on I386_DARWIN. > Strange, I thought this was working previously. > I wonder if there is some sort of race in the GUI code somewhere? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 8 14:10:42 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 14:10:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908121042.A4014CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 14:10:42 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: go back a version, will restore ThreadF to being safe From jkrell at elego.de Tue Sep 8 14:12:55 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 14:12:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908121255.38A7BCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 14:12:55 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: ThreadEvent.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadEvent.i3 ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadEvent.i3 ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadEvent.i3 ThreadF.i3 ThreadInternal.i3 ThreadWin32.m3 Added files: cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 Log message: restore ThreadF to being safe From hosking at elego.de Tue Sep 8 17:01:33 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 17:01:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908150133.BF399CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 17:01:33 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: Let's not log internally. From hosking at elego.de Tue Sep 8 17:16:19 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 17:16:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908151619.97ABA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 17:16:19 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadInternal.i3 ThreadWin32.m3 Log message: Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. From jay.krell at cornell.edu Tue Sep 8 18:02:51 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 16:02:51 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090908151619.97ABA2474003@birch.elegosoft.com> References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: Really? Isn't it considerably safer to have a function declaration list the actual type instead of requiring all the callers to cast? I left ThreadF safe and I think I left it all much better than this. Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs to specific types than a bunch of ADDRESSes. - Jay > Date: Tue, 8 Sep 2009 17:16:19 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 17:16:19 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > ThreadInternal.i3 > ThreadWin32.m3 > > Log message: > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Tue Sep 8 18:09:55 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 8 Sep 2009 12:09:55 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: ThreadF is still safe for the world. Any module that imports ThreadF for the purposes of using MyHeapState is going to need to be unsafe anyway, so forcing it to cast (unsafe anyway) is no big deal. MyHeapState is used only by the allocator. To be perfectly honest, I would have no problem making ThreadF UNSAFE since it has so much dangerous stuff in it. But leaving it safe keeps it they way it has always been. On 8 Sep 2009, at 12:02, Jay K wrote: > Really? Isn't it considerably safer to have a function declaration > list the actual type instead of requiring all the callers to cast? > I left ThreadF safe and I think I left it all much better than this. > Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs > to specific types than a bunch of ADDRESSes. > > - Jay > > > > Date: Tue, 8 Sep 2009 17:16:19 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/08 17:16:19 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > > ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > > ThreadInternal.i3 > > ThreadWin32.m3 > > > > Log message: > > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. > Fixed now, which allows me > > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Tue Sep 8 18:12:40 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 16:12:40 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: I agree making ThreadF unsafe isn't worthwhile -- it has a safe subset e.g. MyId and changing it breaks too much -- there was another break besides "debug", I think commandrw, at which point I rethought. But I think moving the new/potentially unsafe part to ThreadUnsafe is better, so the users of MyHeapState, while still unsafe, don't have to presume and perhaps get incorrect the type. Again, I think there are degrees of unsafety and I'd rather see an UNTRACED REF to a specific type than an address, as I had left it. - Jay CC: hosking at elego.de; m3commit at elegosoft.com From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Subject: Re: [M3commit] CVS Update: cm3 Date: Tue, 8 Sep 2009 12:09:55 -0400 ThreadF is still safe for the world. Any module that imports ThreadF for the purposes of using MyHeapState is going to need to be unsafe anyway, so forcing it to cast (unsafe anyway) is no big deal. MyHeapState is used only by the allocator. To be perfectly honest, I would have no problem making ThreadF UNSAFE since it has so much dangerous stuff in it. But leaving it safe keeps it they way it has always been. On 8 Sep 2009, at 12:02, Jay K wrote:Really? Isn't it considerably safer to have a function declaration list the actual type instead of requiring all the callers to cast? I left ThreadF safe and I think I left it all much better than this. Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs to specific types than a bunch of ADDRESSes. - Jay > Date: Tue, 8 Sep 2009 17:16:19 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 17:16:19 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > ThreadInternal.i3 > ThreadWin32.m3 > > Log message: > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Tue Sep 8 18:21:19 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 8 Sep 2009 12:21:19 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: <518B77E2-2351-463B-B2DF-DC8BB92D9D43@cs.purdue.edu> If it really bothers you then we can clean it up, but again, ThreadF is really a private interface and the only client of MyHeapState, RTAllocator.m3, is *very* *carefully* written. On 8 Sep 2009, at 12:12, Jay K wrote: > I agree making ThreadF unsafe isn't worthwhile -- it has a safe > subset e.g. MyId and changing it breaks too much -- there was > another break besides "debug", I think commandrw, at which point I > rethought. > But I think moving the new/potentially unsafe part to ThreadUnsafe > is better, so the users of MyHeapState, while still unsafe, don't > have to presume and perhaps get incorrect the type. Again, I think > there are degrees of unsafety and I'd rather see an UNTRACED REF to > a specific type than an address, as I had left it. > > - Jay > > > CC: hosking at elego.de; m3commit at elegosoft.com > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Subject: Re: [M3commit] CVS Update: cm3 > Date: Tue, 8 Sep 2009 12:09:55 -0400 > > ThreadF is still safe for the world. Any module that imports > ThreadF for the purposes of using MyHeapState is going to need to be > unsafe anyway, so forcing it to cast (unsafe anyway) is no big > deal. MyHeapState is used only by the allocator. To be perfectly > honest, I would have no problem making ThreadF UNSAFE since it has > so much dangerous stuff in it. But leaving it safe keeps it they > way it has always been. > > On 8 Sep 2009, at 12:02, Jay K wrote: > > Really? Isn't it considerably safer to have a function declaration > list the actual type instead of requiring all the callers to cast? > I left ThreadF safe and I think I left it all much better than this. > Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs > to specific types than a bunch of ADDRESSes. > > - Jay > > > > Date: Tue, 8 Sep 2009 17:16:19 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/08 17:16:19 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > > ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > > ThreadInternal.i3 > > ThreadWin32.m3 > > > > Log message: > > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. > Fixed now, which allows me > > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 8 18:41:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 18:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908164139.467012474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 18:41:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: back from ThreadF to ThreadUnsafe to we can remove some casts might be good to generally move ThreadF to Thread and ThreadUnsafe? or likely not worth the breaking of the existing ThreadF clients outside m3core From hosking at elego.de Fri Sep 11 07:58:40 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 11 Sep 2009 7:58:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911055841.0B1DC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/11 07:58:40 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Log message: Added pthread_cond_timedwait and pthread_cond_broadcast. From jkrell at elego.de Fri Sep 11 14:23:20 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 14:23:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911122320.E009F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 14:23:20 Modified files: cm3/scripts/python/: pylib.py Log message: better autoconfiguration on Windows, some added comments, some changed style of comments From jkrell at elego.de Fri Sep 11 14:34:07 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 14:34:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911123407.7C11C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 14:34:07 Added files: cm3/scripts/win/: setup.cmd Log message: bring over file from release branch From jkrell at elego.de Fri Sep 11 15:36:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 15:36:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911133605.795F32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 15:36:05 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: don't print an error deleting nonexistant file From jkrell at elego.de Fri Sep 11 16:07:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 16:07:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911140744.2A0902474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 16:07:43 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: delete setup.txt in the loop so it doesn't keep accumulating From jkrell at elego.de Fri Sep 11 16:51:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 16:51:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911145135.4974E2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 16:51:33 Modified files: cm3/scripts/python/: pylib.py make-dist.py Log message: move license directory creation to InstallLicense function From jkrell at elego.de Fri Sep 11 17:03:48 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:03:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150349.9D1112474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:03:48 Modified files: cm3/scripts/python/: pylib.py make-dist.py Log message: move more of license directory creation to InstallLicense function and use a simple statement in the installer based on the toplevel README in the source tree From jkrell at elego.de Fri Sep 11 17:04:34 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:04:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150435.75CB12474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:04:34 Added files: cm3/scripts/python/: make-msi.py Log message: initial copy of make-msi.py from make-dist.py From jkrell at elego.de Fri Sep 11 17:09:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:09:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150942.E170D2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:09:42 Modified files: cm3/scripts/python/: pylib.py Log message: fix indent, it matters (copy/paste error) From jkrell at elego.de Fri Sep 11 17:10:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:10:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911151044.012F82474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:10:43 Modified files: cm3/scripts/python/: make-msi.py Log message: initial real version: cut it way down, add command line parsing, usage From jkrell at elego.de Fri Sep 11 17:32:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:32:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153242.6F6222474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:32:42 Modified files: cm3/scripts/python/: make-msi.py pylib.py Log message: some small fixes to msi creation and license install (such as actually install the licenses before making the msi) From jkrell at elego.de Fri Sep 11 17:37:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:37:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153727.0E1112474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:37:26 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:38:59 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:38:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153859.9BCD32474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:38:59 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 do-cm3-caltech-parser.py make-dist.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:39:21 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:39:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153922.1B37C2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:39:21 Added files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 make-msi.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:40:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:40:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911154026.36D562474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:40:26 Added files: cm3/scripts/python/: make-dist-cfg.py Log message: merge from release From jkrell at elego.de Fri Sep 11 17:43:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:43:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911154333.308B52474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:43:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: initial attempt at .msi creation From jkrell at elego.de Fri Sep 11 18:13:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 18:13:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911161346.CC9352474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 18:13:46 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix path to make-msi.py From jkrell at elego.de Fri Sep 11 18:39:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 18:39:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911163933.31DFE2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 18:39:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix if [ type to be if type From jkrell at elego.de Fri Sep 11 22:17:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:17:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911201730.67DDD2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:17:30 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix path to .msi file From jkrell at elego.de Fri Sep 11 22:29:27 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:29:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911202927.EC3632474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:29:27 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix .msi paths further; I think there's another problem though From jkrell at elego.de Fri Sep 11 22:38:28 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:38:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911203831.5474F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:38:28 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: general problem of too much stuff at global scope; workaround some of it (to address that make-msi.py is complaining about findstr against cm3.exe, cygwin path of cm3.exe being passed to win32 findstr) From jkrell at elego.de Fri Sep 11 22:39:04 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:39:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911203905.B931F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:39:04 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: put comments more firmly with their code From hosking at elego.de Fri Sep 11 22:48:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 11 Sep 2009 22:48:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911204841.582E12474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/11 22:48:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Mentor and Juno finally work on I386_DARWIN. ***Significant overhaul of thread alerting.*** Invariant now is that all waiting is done on the thread's own condition variable. This cleanly permits signals and alerts from any other thread. Need to set DISPLAY=:0.0 and xhost+ to get around problems with DISPLAY=/tmp/launch-XXXXXX/:0. From jkrell at elego.de Fri Sep 11 23:20:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 23:20:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911212056.084B62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 23:20:51 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: some accomodation for Python being Cygwin; mine is Win32, elego's is Cygwin; there are bugs but not (known) in Hudson/msi code (there were) From jkrell at elego.de Sat Sep 12 00:19:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:19:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911222000.AD4052474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:19:59 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: use ; for portable path list separator when possible -- start fixing the bugs that occur when cygwin Python tries to auotconfigure LIB and INCLUDE, but not done, ok From jkrell at elego.de Sat Sep 12 00:37:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:37:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911223703.52B2F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:37:03 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: deal more with path format issues, maybe all ok now? From jkrell at elego.de Sat Sep 12 00:39:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:39:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911223954.E96C72474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:39:54 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: remove hopefully out of date comment From jkrell at elego.de Sat Sep 12 00:43:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:43:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911224330.C5D6B2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:43:30 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: between os.path.pathsep and os.pathsep, alwayse use the shorter name os.pathsep, they are the same thing From jkrell at elego.de Sat Sep 12 00:45:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:45:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911224521.D5E812474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:45:21 Modified files: cm3/scripts/python/: pylib.py Log message: merge from release From jkrell at elego.de Sat Sep 12 19:24:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:24:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912172405.C19002474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:24:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: - wrap everything, it is a little safer - simplify and shrink rare error path instead of optimizing it for speed From jkrell at elego.de Sat Sep 12 19:52:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:52:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175222.87A1A2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:52:22 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: merge from release -- declare function to avoid warning From jkrell at elego.de Sat Sep 12 19:53:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:53:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175310.5208E2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:53:10 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c Log message: merge from release -- declare function to avoid warning From jkrell at elego.de Sat Sep 12 19:55:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:55:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175533.42E222474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:55:33 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: just minor word wrap of exports as part of merge with release From jkrell at elego.de Sat Sep 12 20:06:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:06:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912180610.28BAB2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:06:10 Added files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadUnsafe.i3 Log message: new file from head From jkrell at elego.de Sat Sep 12 20:15:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:15:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912181511.85E682474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:15:11 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 Log message: manual merge from head -- remove unsafe marker (though they do import the borderline ThreadF, but they only declare types, no functions) From jkrell at elego.de Sat Sep 12 20:19:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:19:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912181955.BD9882474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:19:55 Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadEvent.i3 Log message: remove unused files From jkrell at elego.de Sun Sep 13 02:28:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 2:28:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913002821.82EBA2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 02:28:20 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.i3 Log message: add one space for consistent formating From jkrell at elego.de Sun Sep 13 03:21:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:21:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012122.35B1A2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:21:21 Modified files: cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 Log message: remove unused import From jkrell at elego.de Sun Sep 13 03:26:45 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:26:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012645.38E522474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:26:44 Modified files: cm3/m3-libs/m3core/src/convert/: Tag: release_branch_cm3_5_8 CConvert.m3 cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTAllocator.m3 RTCollector.m3 RTCollectorSRC.i3 RTHeapInfo.m3 RTHeapRep.i3 RTHeapRep.m3 RTHeapStats.m3 RTLinker.m3 RTOS.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: Tag: release_branch_cm3_5_8 RTExFrame.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: Tag: release_branch_cm3_5_8 RTExStack.m3 cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadWin32.m3 cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Upthread.c Usocket.c Usocket.i3 m3unix.h cm3/m3-libs/m3core/src/unix/uin-common/: Tag: release_branch_cm3_5_8 Uin.i3 cm3/m3-libs/m3core/src/unix/uin-len/: Tag: release_branch_cm3_5_8 Uin.i3 Log message: merge head to release, making them nearly identical for m3core - Tony's thread fixes - add struct_sockaddr_un - just one set of socklen_t wrappers From jkrell at elego.de Sun Sep 13 03:29:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:29:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012904.C4C852474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:29:04 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 Log message: only fix newlines From hosking at elego.de Sun Sep 13 06:55:36 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 6:55:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913045536.4A1E7CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 06:55:36 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Retain saner code from before recent reworking of alert mechanisms. From hosking at elego.de Sun Sep 13 06:57:34 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 6:57:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913045735.2B1B9CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 06:57:34 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Rename AllocTraced to AllocCopy (RTAllocator.AllocTraced remains). From jkrell at elego.de Sun Sep 13 07:56:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 7:56:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913055619.29D5ECC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 07:56:18 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/AP3000/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/DS3100/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HP300/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HPPA/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMR2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMRT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IRIX5/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUX/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NEXT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OKI/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OS2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SEQUENT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN3/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/UMAX/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/VAX/: RTMachine.i3 Log message: Just fix newlines. I thought I had tried this earlier and there was no diff. (No, I'm not confusing the branches; I know I already got the release branch; I thought I had also checked head.) From jkrell at elego.de Sun Sep 13 07:58:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 7:58:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913055834.17E20CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 07:58:33 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: just fix line endings From jkrell at elego.de Sun Sep 13 08:01:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060139.B10382474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:01:39 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.c Log message: just remove a few spaces at end of line From jkrell at elego.de Sun Sep 13 08:05:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:05:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060545.06954CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:05:44 Removed files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 Log message: remove unused files From jkrell at elego.de Sun Sep 13 08:07:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:07:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060737.6D04ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:07:37 Removed files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTThreadInit.i3 Log message: remove another unused file (the function is in ThreadF) From jkrell at elego.de Sun Sep 13 08:09:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:09:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060948.EE747CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:09:48 Added files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Unix.pl Unix.txt Log message: bring over two new files from head From jkrell at elego.de Sun Sep 13 08:19:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:19:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913061925.5F36CCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:19:24 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachineASM.s Log message: go back to historical version 1.1, before I changed anything in a not terrible way but for the wrong reasons From jkrell at elego.de Sun Sep 13 08:21:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:21:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913062134.48DCCCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:21:34 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachineASM.s Log message: go back to historical version 1.2, before I changed anything in a not terrible way but for the wrong reasons From jkrell at elego.de Sun Sep 13 08:23:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:23:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913062322.D5918CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:23:22 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachineASM.s cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachineASM.s Log message: copy from head -- go back to old 1.1 and 2.2 versions From jkrell at elego.de Sun Sep 13 15:08:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:08:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913130801.BAED0CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:08:01 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: remove SetSwitchingInterval It didn't do anything on NT and wasn't declared for pthread. For greater source compat we could put it in and have it do nothing for NT and pthread, but we are already getting on without it in pthread. remove ProcessEachStack It is only in pthread and never used. From jay.krell at cornell.edu Sun Sep 13 15:10:10 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 13 Sep 2009 13:10:10 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090913130801.BAED0CC7DE@birch.elegosoft.com> References: <20090913130801.BAED0CC7DE@birch.elegosoft.com> Message-ID: I find it too painful to find diffs given a checkin mail, so here: Index: src/thread/POSIX/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadF.i3,v retrieving revision 1.15 diff -u -r1.15 ThreadF.i3 --- src/thread/POSIX/ThreadF.i3 8 Sep 2009 16:41:38 -0000 1.15 +++ src/thread/POSIX/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -66,13 +66,6 @@ PROCEDURE MyId(): Id RAISES {}; (* return Id of caller *) -(*------------------------------------------------------------ preemption ---*) - -PROCEDURE SetSwitchingInterval (usec: CARDINAL); -(* Sets the time between thread preemptions to 'usec' microseconds. - Note that most Unix systems dont guarantee much if any precision - on timer interrupts. The default value is 100 milliseconds. *) - (*---------------------------------------------------- exception delivery ---*) PROCEDURE GetCurrentHandlers(): ADDRESS; Index: src/thread/POSIX/ThreadPosix.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v retrieving revision 1.44 diff -u -r1.44 ThreadPosix.m3 --- src/thread/POSIX/ThreadPosix.m3 12 Sep 2009 17:55:32 -0000 1.44 +++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:05:22 -0000 @@ -767,15 +767,6 @@ IF inCritical = 0 AND heapState.inCritical = 0 THEN InternalYield () END; END switch_thread; -PROCEDURE SetSwitchingInterval (usec: CARDINAL) = - BEGIN - INC (inCritical); - selected_interval.tv_sec := usec DIV 1000000; - selected_interval.tv_usec := usec MOD 1000000; - DEC (inCritical); - IF multipleThreads THEN StartSwitching () END; - END SetSwitchingInterval; - (*------------------------------------------------------------- scheduler ---*) PROCEDURE CanRun (t: T) = Index: src/thread/PTHREAD/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadF.i3,v retrieving revision 1.17 diff -u -r1.17 ThreadF.i3 --- src/thread/PTHREAD/ThreadF.i3 8 Sep 2009 16:41:38 -0000 1.17 +++ src/thread/PTHREAD/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -24,11 +24,6 @@ of the stack. All other threads must be suspended. ProcessStacks exists solely for the garbage collector. *) -PROCEDURE ProcessEachStack (p: PROCEDURE (start, stop: ADDRESS)); -(* Apply p to each thread stack, with [start..stop) being the limits - of the stack. Each thread is suspended individually. ProcessEachStack - exists solely for the garbage collector. *) - (*------------------------------------------------ floating point support ---*) (* access to the saved floating point state for the current thread. *) Index: src/thread/PTHREAD/ThreadPThread.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v retrieving revision 1.138 diff -u -r1.138 ThreadPThread.m3 --- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 04:55:33 -0000 1.138 +++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:05:22 -0000 @@ -995,55 +995,6 @@ END; END ProcessStacks; -PROCEDURE ProcessEachStack (p: PROCEDURE (start, stop: ADDRESS)) = - (* LL=0 *) - VAR - me := GetActivation(); - act: Activation; - acks: int; - BEGIN - WITH r = pthread_mutex_lock_active() DO <*ASSERT r=0*> END; - - ProcessMe(me, p); - - act := me.next; - WHILE act # me DO - (* stop *) - LOOP - IF StopThread(act) THEN EXIT END; - IF SignalThread(act, ActState.Stopping) THEN - WITH r = sem_getvalue(acks) DO <*ASSERT r=0*> END; - IF acks > 0 THEN - WHILE sem_wait() # 0 DO - <*ASSERT Cerrno.GetErrno() = Uerror.EINTR*> - END; - EXIT; - END; - END; - CommonSleep(); - END; - (* process *) - ProcessOther(act, p); - (* start *) - LOOP - IF StartThread(act) THEN EXIT END; - IF SignalThread(act, ActState.Starting) THEN - WITH r = sem_getvalue(acks) DO <*ASSERT r=0*> END; - IF acks > 0 THEN - WHILE sem_wait() # 0 DO - <*ASSERT Cerrno.GetErrno() = Uerror.EINTR*> - END; - EXIT; - END; - END; - CommonSleep(); - END; - act := act.next; - END; - - WITH r = pthread_mutex_unlock_active() DO <*ASSERT r=0*> END; - END ProcessEachStack; - PROCEDURE ProcessMe (me: Activation; p: PROCEDURE (start, stop: ADDRESS)) = (* LL=activeMu *) VAR Index: src/thread/WIN32/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadF.i3,v retrieving revision 1.17 diff -u -r1.17 ThreadF.i3 --- src/thread/WIN32/ThreadF.i3 8 Sep 2009 16:41:39 -0000 1.17 +++ src/thread/WIN32/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -26,12 +26,6 @@ (* Feature: Windows threads not created by Thread.Fork are not suspended or resumed, and their stacks are not processed. *) -(*------------------------------------------------------------ preemption ---*) - -PROCEDURE SetSwitchingInterval (usec: CARDINAL); -(* Sets the time between thread preemptions to 'usec' microseconds. - This procedure is a no-op on Windows/NT. *) - (*------------------------------------------------------------ thread IDs ---*) TYPE Index: src/thread/WIN32/ThreadWin32.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3,v retrieving revision 1.47 diff -u -r1.47 ThreadWin32.m3 --- src/thread/WIN32/ThreadWin32.m3 8 Sep 2009 16:41:39 -0000 1.47 +++ src/thread/WIN32/ThreadWin32.m3 13 Sep 2009 13:05:22 -0000 @@ -695,12 +695,6 @@ RETURN res; END AlertJoin; -(*------------------------------------------------ timer-based preemption ---*) - -PROCEDURE SetSwitchingInterval (<*UNUSED*> usec: CARDINAL) = - BEGIN - END SetSwitchingInterval; - (*---------------------------------------------------- Scheduling support ---*) PROCEDURE Pause(n: LONGREAL) = > Date: Sun, 13 Sep 2009 15:08:01 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/13 15:08:01 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 > > Log message: > remove SetSwitchingInterval > It didn't do anything on NT and wasn't declared for pthread. > For greater source compat we could put it in and have it do > nothing for NT and pthread, but we are already getting on > without it in pthread. > > remove ProcessEachStack > It is only in pthread and never used. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Sep 13 15:36:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:36:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913133643.92BBCCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:36:43 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 RTCollector.m3 RTHeapStats.m3 RTLinker.m3 RTLinkerX.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 RTException.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile Added files: cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 ThreadInternal.i3 Removed files: cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 Log message: move ThreadUnsafe.i3 to ThreadInternal.i3 move most of ThreadF.i3 to ThreadInternal.i3 ThreadF is safe and public, and small. ThreadInternal is not safe nor public. As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. Three ThreadF.i3s replaced by one. A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. ThreadF.i3 is entirely shared. ThreadInternal.i3 exposes a little extra that is present in all three but only needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). (deletes deferred because of CVS wierdness) From jkrell at elego.de Sun Sep 13 15:37:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:37:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913133739.610D4CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:37:39 Removed files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 Log message: move ThreadUnsafe.i3 to ThreadInternal.i3 move most of ThreadF.i3 to ThreadInternal.i3 ThreadF is safe and public, and small. ThreadInternal is not safe nor public. As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. Three ThreadF.i3s replaced by one. A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. ThreadF.i3 is entirely shared. ThreadInternal.i3 exposes a little extra that is present in all three but only needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). (deletes deferred because of CVS wierdness) From jay.krell at cornell.edu Sun Sep 13 15:39:19 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 13 Sep 2009 13:39:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090913133643.92BBCCC806@birch.elegosoft.com> References: <20090913133643.92BBCCC806@birch.elegosoft.com> Message-ID: Index: src/float/DS3100/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/DS3100/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/DS3100/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/DS3100/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -21,7 +21,7 @@ doesn't cause floating-point exceptions) *) -IMPORT FPU, Usignal, ThreadF, Word, RTMisc; +IMPORT FPU, Usignal, ThreadInternal, Word, RTMisc; TYPE RM = RoundingMode; TYPE MRM = FPU.RoundingMode; @@ -53,7 +53,7 @@ ExtractFlags (status, state, flags); END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -141,7 +141,7 @@ END; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); RETURN flags; END SetFlags; @@ -163,7 +163,7 @@ state.sticky [f] := FALSE; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -242,7 +242,7 @@ EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER)); END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = @@ -252,7 +252,7 @@ behavior := state.behavior [f]; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN behavior; END GetBehavior; Index: src/float/IRIX5/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/IRIX5/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/IRIX5/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/IRIX5/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -22,7 +22,7 @@ doesn't cause floating-point exceptions) *) -IMPORT FPU, Usignal, ThreadF, Word, RTError; +IMPORT FPU, Usignal, ThreadInternal, Word, RTError; TYPE RM = RoundingMode; TYPE MRM = FPU.RoundingMode; @@ -54,7 +54,7 @@ ExtractFlags (status, state, flags); END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -142,7 +142,7 @@ END; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); RETURN flags; END SetFlags; @@ -164,7 +164,7 @@ state.sticky [f] := FALSE; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -243,7 +243,7 @@ EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER)); END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = @@ -253,7 +253,7 @@ behavior := state.behavior [f]; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN behavior; END GetBehavior; Index: src/float/VAX/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/VAX/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/VAX/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/VAX/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -9,7 +9,7 @@ MODULE FloatMode (* FOR VAX *); -IMPORT ThreadF; +IMPORT ThreadInternal; PROCEDURE SetRounding(md: RoundingMode) RAISES {Failure} = BEGIN @@ -28,7 +28,7 @@ flags := state.sticky; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -49,7 +49,7 @@ state.sticky := state.sticky - SET OF Flag {f}; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -74,7 +74,7 @@ state.behavior [f] := b; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = Index: src/runtime/NT386/RTSignal.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/NT386/RTSignal.m3,v retrieving revision 1.2 diff -u -w -r1.2 RTSignal.m3 --- src/runtime/NT386/RTSignal.m3 12 Feb 2001 15:22:45 -0000 1.2 +++ src/runtime/NT386/RTSignal.m3 13 Sep 2009 13:27:35 -0000 @@ -4,7 +4,7 @@ UNSAFE MODULE RTSignal; IMPORT RT0, RTMachInfo, RTError, RTException, RTProcess, RuntimeError; -IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadF; +IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadInternal; TYPE RTE = RuntimeError.T; @@ -60,7 +60,7 @@ END; (* Otherwise, just dump our guts... *) - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); FOR i := FIRST (SysErrs) TO LAST (SysErrs) DO IF (SysErrs[i].err = err) THEN RTError.ReportPC (pc, SysErrs[i].msg); @@ -71,7 +71,7 @@ EXIT; END; END; - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); (*** IF (old_filter # NIL) THEN RETURN old_filter (info); Index: src/runtime/WIN32/RTOS.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/WIN32/RTOS.m3,v retrieving revision 1.5 diff -u -w -r1.5 RTOS.m3 --- src/runtime/WIN32/RTOS.m3 29 Dec 2008 10:23:39 -0000 1.5 +++ src/runtime/WIN32/RTOS.m3 13 Sep 2009 13:27:35 -0000 @@ -6,7 +6,7 @@ UNSAFE MODULE RTOS; -IMPORT RTMachInfo, RTSignal, ThreadF; +IMPORT RTMachInfo, RTSignal, ThreadInternal; IMPORT WinBase, WinCon, WinDef; (*--------------------------------------------------- process termination ---*) @@ -20,7 +20,7 @@ CONST Magic = 1 * ADRSIZE (INTEGER); (* == offset of "fp" in this frame *) VAR fp: ADDRESS := ADR (fp) + Magic; (* == my frame pointer *) BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); RTMachInfo.DumpStack (LOOPHOLE (Crash, ADDRESS), fp); RTSignal.RestoreHandlers (); (* so we really do crash... *) IF WinBase.IsDebuggerPresent () # 0 THEN @@ -33,7 +33,7 @@ PROCEDURE Crash () = VAR ptr := LOOPHOLE(-99, UNTRACED REF INTEGER); BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); ptr^ := 99; (* try to get to the debugger... *) Exit (-1); END Crash; Index: src/runtime/common/RTAllocator.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTAllocator.m3,v retrieving revision 1.32 diff -u -w -r1.32 RTAllocator.m3 --- src/runtime/common/RTAllocator.m3 8 Sep 2009 16:41:37 -0000 1.32 +++ src/runtime/common/RTAllocator.m3 13 Sep 2009 13:27:35 -0000 @@ -14,7 +14,7 @@ UNSAFE MODULE RTAllocator EXPORTS RTAllocator, RTAllocCnts, RTHooks, RTHeapRep; -IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadUnsafe; +IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadInternal; IMPORT RuntimeError AS RTE, Word; FROM RTType IMPORT Typecode; @@ -71,7 +71,7 @@ VAR hdr: RefHeader; def: RT0.TypeDefn; dataSize: CARDINAL; res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF (ref = NIL) THEN RETURN NIL; END; IF Word.And(LOOPHOLE(ref, Word.T), 1) # 0 THEN RETURN ref; END; @@ -192,7 +192,7 @@ PROCEDURE GetTracedRef (def: RT0.TypeDefn): REFANY = VAR res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Ref) THEN RTE.Raise(RTE.T.ValueOutOfRange); @@ -214,7 +214,7 @@ PROCEDURE GetTracedObj (def: RT0.TypeDefn): ROOT = VAR res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Obj) THEN RTE.Raise(RTE.T.ValueOutOfRange); @@ -283,7 +283,7 @@ VAR res: ADDRESS; dataSize: CARDINAL; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Array) THEN RTE.Raise(RTE.T.ValueOutOfRange); Index: src/runtime/common/RTCollector.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTCollector.m3,v retrieving revision 1.69 diff -u -w -r1.69 RTCollector.m3 --- src/runtime/common/RTCollector.m3 13 Sep 2009 04:57:33 -0000 1.69 +++ src/runtime/common/RTCollector.m3 13 Sep 2009 13:27:35 -0000 @@ -16,7 +16,7 @@ IMPORT RT0, RTHeapEvent, RTHeapMap, RTIO, RTMachine; IMPORT RTMisc, RTOS, RTParams, RTPerfTool, RTProcess, RTType; -IMPORT Word, Thread, ThreadF, RuntimeError; +IMPORT Word, Thread, ThreadInternal, RuntimeError; IMPORT TextLiteral AS TextLit, RTLinker, Time; FROM RT0 IMPORT Typecode, TypeDefn; @@ -732,7 +732,7 @@ PROCEDURE CollectSomeInStateZero () = BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); <* ASSERT disableCount + disableMotionCount = 0 *> (* compute some costs relative to previous collection *) @@ -806,7 +806,7 @@ pages, because we want to make sure that old, impure, dirty pages referenced by threads are marked as ambiguous roots. Otherwise, these pages won't get cleaned before we return. *) - ThreadF.ProcessStacks(NoteStackLocations); + ThreadInternal.ProcessStacks(NoteStackLocations); (* Now, nothing in previous space is referenced by a thread. *) (* Promote any remaining "old" pages and unprotect everything else *) @@ -886,7 +886,7 @@ collectorState := CollectorState.One; IF backgroundWaiting THEN signalBackground := TRUE; END; - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); END CollectSomeInStateZero; (* Clean gray nodes *) @@ -1615,9 +1615,9 @@ PROCEDURE After (self: MonitorClosure) = BEGIN - ThreadF.SuspendOthers(); + ThreadInternal.SuspendOthers(); SanityCheck (self); - ThreadF.ResumeOthers(); + ThreadInternal.ResumeOthers(); END After; PROCEDURE SanityCheck (<*UNUSED*> self: MonitorClosure) = @@ -1790,7 +1790,7 @@ BEGIN TRY Disable(); - ThreadF.SuspendOthers(); + ThreadInternal.SuspendOthers(); FOR p := p0 TO p1 - 1 DO IF desc[p - p0] = 0 THEN WITH page = PageToRef(p), d = page.desc DO @@ -1813,7 +1813,7 @@ END; END; FINALLY - ThreadF.ResumeOthers(); + ThreadInternal.ResumeOthers(); Enable(); END; END VisitAllRefs; Index: src/runtime/common/RTHeapStats.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTHeapStats.m3,v retrieving revision 1.6 diff -u -w -r1.6 RTHeapStats.m3 --- src/runtime/common/RTHeapStats.m3 8 Sep 2009 05:54:55 -0000 1.6 +++ src/runtime/common/RTHeapStats.m3 13 Sep 2009 13:27:35 -0000 @@ -5,7 +5,7 @@ (* Last modified on Fri May 5 08:22:31 PDT 1995 by kalsow *) (* The code below makes the following NASTY assumption: - ThreadF.ProcessStacks calls its argument twice for + ThreadInternal.ProcessStacks calls its argument twice for each thread -- the first time for the stack, the second time for its registers. *) @@ -13,7 +13,7 @@ IMPORT RT0, RTCollector, RTModule, RTIO, RTHeapMap, RTHeapRep, RTMisc; IMPORT RTOS, RTType, RTTypeSRC, RTProcedure, RTProcedureSRC, RTMachine; -IMPORT RTStack, ThreadF, Word, Text; +IMPORT RTStack, ThreadInternal, Word, Text; FROM RTIO IMPORT PutInt, PutAddr, PutText; TYPE @@ -96,7 +96,7 @@ (* freeze the world *) RTCollector.Disable (); RTOS.LockHeap (); (* freeze the heap *) - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); (* capture the heap limits *) heap_min := LOOPHOLE (RTHeapRep.p0 * RTHeapRep.BytesPerPage, ADDRESS); @@ -146,7 +146,7 @@ (* thaw the world *) DISPOSE (visit_stack); DISPOSE (map); - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); RTOS.UnlockHeap (); (* unfreeze the heap *) RTCollector.Enable (); END ReportReachable; @@ -282,7 +282,7 @@ BEGIN self_id := -1; mark_addr := ADR (i); - ThreadF.ProcessStacks (GetThread); + ThreadInternal.ProcessStacks (GetThread); RTIO.PutText ("Threads: "); RTIO.PutInt (n_threads); IF (n_threads > NUMBER (threads)) THEN Index: src/runtime/common/RTLinker.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinker.m3,v retrieving revision 1.15 diff -u -w -r1.15 RTLinker.m3 --- src/runtime/common/RTLinker.m3 8 Sep 2009 05:54:55 -0000 1.15 +++ src/runtime/common/RTLinker.m3 13 Sep 2009 13:27:36 -0000 @@ -12,7 +12,7 @@ IMPORT Cstdlib, Cstring; IMPORT RT0, RTParams, RTDebug, RTHeapRep, RTCollectorSRC; -IMPORT RTTypeSRC, RTSignal, ThreadF, RTHeapInfo, RTLinkerX, +IMPORT RTTypeSRC, RTSignal, ThreadInternal, RTHeapInfo, RTLinkerX, RTIO, Word; VAR @@ -46,7 +46,7 @@ AddUnit (RTLinkerX.RTDebug_I3); AddUnit (RTLinkerX.RTError_I3); AddUnit (RTLinkerX.RTHeapRep_I3); - AddUnit (RTLinkerX.ThreadF_I3); + AddUnit (RTLinkerX.ThreadInternal_I3); AddUnit (RTLinkerX.RTHeapInfo_I3); AddUnit (RTLinkerX.RTIO_I3); AddUnit (RTLinkerX.RTCollectorSRC_I3); @@ -55,7 +55,7 @@ (* finally, initialize the runtime. *) RTSignal.InstallHandlers (); RTParams.Init (); - ThreadF.Init (); + ThreadInternal.Init (); RTHeapRep.Init (); RTDebug.Init (); RTHeapInfo.Init (); Index: src/runtime/common/RTLinkerX.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinkerX.i3,v retrieving revision 1.7 diff -u -w -r1.7 RTLinkerX.i3 --- src/runtime/common/RTLinkerX.i3 7 Apr 2008 17:58:30 -0000 1.7 +++ src/runtime/common/RTLinkerX.i3 13 Sep 2009 13:27:36 -0000 @@ -46,7 +46,7 @@ <*EXTERNAL*> PROCEDURE RTTypeSRC_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTWeakRef_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTutils_I3 (mode: INTEGER): RT0.ModulePtr; -<*EXTERNAL*> PROCEDURE ThreadF_I3 (mode: INTEGER): RT0.ModulePtr; +<*EXTERNAL*> PROCEDURE ThreadInternal_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE Word_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RT0_M3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTAllocStats_M3 (mode: INTEGER): RT0.ModulePtr; Index: src/runtime/ex_frame/RTExFrame.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3,v retrieving revision 1.5 diff -u -w -r1.5 RTExFrame.m3 --- src/runtime/ex_frame/RTExFrame.m3 8 Sep 2009 05:54:56 -0000 1.5 +++ src/runtime/ex_frame/RTExFrame.m3 13 Sep 2009 13:27:36 -0000 @@ -4,7 +4,7 @@ UNSAFE MODULE RTExFrame EXPORTS RTException, RTExFrame; -IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadF; +IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadInternal; IMPORT Thread, Csetjmp; VAR @@ -16,7 +16,7 @@ PROCEDURE Raise (VAR act: RT0.RaiseActivation) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -67,7 +67,7 @@ PROCEDURE ResumeRaise (VAR a: RT0.RaiseActivation) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -99,7 +99,7 @@ BadStack (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) f := f.next; (* try the previous frame *) END; END ResumeRaise; @@ -114,7 +114,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) p.info := a; (* copy the exception to the new frame *) Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *) RAISE OUCH; @@ -138,7 +138,7 @@ cl.proc := p.handler; cl.frame := p.frame; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) CallProc (LOOPHOLE (ADR (cl), FinallyProc), a); END InvokeFinallyHandler; @@ -159,7 +159,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) Thread.Release (p.mutex); (* and release the lock *) END ReleaseLock; @@ -173,7 +173,7 @@ PROCEDURE SanityCheck () = CONST Min_SK = ORD (FIRST (ScopeKind)); CONST Max_SK = ORD (LAST (ScopeKind)); - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); VAR i: INTEGER; BEGIN WHILE (f # NIL) DO @@ -184,7 +184,7 @@ END SanityCheck; PROCEDURE DumpStack () = - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); BEGIN IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END; Index: src/runtime/ex_frame/RTException.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTException.m3,v retrieving revision 1.1.1.1 diff -u -w -r1.1.1.1 RTException.m3 --- src/runtime/ex_frame/RTException.m3 24 Jan 2001 12:24:27 -0000 1.1.1.1 +++ src/runtime/ex_frame/RTException.m3 13 Sep 2009 13:27:36 -0000 @@ -8,7 +8,7 @@ UNSAFE MODULE RTException EXPORTS RTException, RTExRep; IMPORT RT0, RTMisc, RTIO, RTParams, RTOS; -IMPORT Thread, ThreadF, M3toC, Ctypes, Csetjmp; +IMPORT Thread, ThreadInternal, M3toC, Ctypes, Csetjmp; VAR DEBUG := FALSE; @@ -22,7 +22,7 @@ PROCEDURE Raise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -69,7 +69,7 @@ PROCEDURE ResumeRaise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -101,7 +101,7 @@ BadStack (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) f := f.next; (* try the previous frame *) END; END ResumeRaise; @@ -117,7 +117,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) p.exception := en; (* record the exception *) p.arg := arg; (* and it argument *) Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *) @@ -143,7 +143,7 @@ cl.proc := p.handler; cl.frame := p.frame; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) CallProc (LOOPHOLE (ADR (cl), FinallyProc)); END InvokeFinallyHandler; @@ -164,7 +164,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) Thread.Release (p.mutex); (* and release the lock *) END ReleaseLock; @@ -188,7 +188,7 @@ PROCEDURE SanityCheck () = CONST Min_SK = ORD (FIRST (ScopeKind)); CONST Max_SK = ORD (LAST (ScopeKind)); - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); VAR i: INTEGER; BEGIN WHILE (f # NIL) DO @@ -199,7 +199,7 @@ END SanityCheck; PROCEDURE DumpStack () = - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); BEGIN IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END; Index: src/thread/Common/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/Common/m3makefile,v retrieving revision 1.7 diff -u -w -r1.7 m3makefile --- src/thread/Common/m3makefile 8 Sep 2009 16:41:37 -0000 1.7 +++ src/thread/Common/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -8,10 +8,11 @@ % modified on Tue Feb 11 15:07:32 PST 1992 by muller Interface ("Thread") +Interface ("ThreadF") Interface ("Scheduler") if equal (OS_TYPE, "POSIX") Interface ("SchedulerPosix") end Interface ("MutexRep") Interface ("ThreadEvent") -interface ("ThreadUnsafe") +interface ("ThreadInternal") Index: src/thread/POSIX/ThreadPosix.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.i3,v retrieving revision 1.7 diff -u -w -r1.7 ThreadPosix.i3 --- src/thread/POSIX/ThreadPosix.i3 29 Jun 2009 19:20:47 -0000 1.7 +++ src/thread/POSIX/ThreadPosix.i3 13 Sep 2009 13:27:36 -0000 @@ -20,7 +20,7 @@ <*EXTERNAL ThreadPosix__InitC*> PROCEDURE InitC(); -(* There is already ThreadF.Init exported by the same module that exports this +(* There is already ThreadInternal.Init exported by the same module that exports this interface, so we chose an arbitrary different name here. *) END ThreadPosix. Index: src/thread/POSIX/ThreadPosix.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v retrieving revision 1.45 diff -u -w -r1.45 ThreadPosix.m3 --- src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:08:00 -0000 1.45 +++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:27:36 -0000 @@ -10,7 +10,7 @@ (*| modified On Mon Apr 5 14:51:30 PDT 1993 by muller *) (*| modified on Mon Feb 22 10:08:49 PST 1993 by jdd *) -UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadUnsafe, +UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadInternal, Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPosix; IMPORT Cerrno, Cstring, FloatMode, MutexRep, RTHeapRep, RTCollectorSRC, @@ -1461,7 +1461,7 @@ perfOn := RTPerfTool.Send (perfW, ADR (e), EventSize); END PerfRunning; -(*--------------------------------------------------------- ThreadF hooks ---*) +(*--------------------------------------------------------- ThreadInternal hooks ---*) VAR hooks: Hooks := NIL; @@ -1485,6 +1485,8 @@ RETURN oldHooks; END RegisterHooks; +(*--------------------------------------------------------- ThreadF ---*) + PROCEDURE MyId(): Id RAISES {}= BEGIN RETURN self.id; Index: src/thread/POSIX/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/m3makefile,v retrieving revision 1.6 diff -u -w -r1.6 m3makefile --- src/thread/POSIX/m3makefile 22 Mar 2009 09:43:13 -0000 1.6 +++ src/thread/POSIX/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -7,7 +7,6 @@ % modified on Tue May 4 10:18:56 PDT 1993 by mjordan % modified on Tue Feb 11 15:07:32 PST 1992 by muller -Interface ("ThreadF") module ("ThreadPosix") c_source ("ThreadPosixC") h_source ("ThreadPosix") Index: src/thread/PTHREAD/ThreadPThread.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v retrieving revision 1.139 diff -u -w -r1.139 ThreadPThread.m3 --- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:08:01 -0000 1.139 +++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:27:36 -0000 @@ -2,7 +2,7 @@ (* All rights reserved. *) (* See the file COPYRIGHT-PURDUE for a full description. *) -UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadUnsafe, +UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadInternal, Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPThread; IMPORT Cerrno, FloatMode, MutexRep, @@ -1316,7 +1316,6 @@ VAR perfW : RTPerfTool.Handle; - perfOn: BOOLEAN := FALSE; (* LL = perfMu *) PROCEDURE PerfStart () = BEGIN Index: src/thread/PTHREAD/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/m3makefile,v retrieving revision 1.13 diff -u -w -r1.13 m3makefile --- src/thread/PTHREAD/m3makefile 29 Apr 2009 21:01:14 -0000 1.13 +++ src/thread/PTHREAD/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -7,6 +7,5 @@ % modified on Tue May 4 10:18:56 PDT 1993 by mjordan % modified on Tue Feb 11 15:07:32 PST 1992 by muller -Interface ("ThreadF") module ("ThreadPThread") c_source ("ThreadPThreadC") Index: src/thread/WIN32/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/m3makefile,v retrieving revision 1.13 diff -u -w -r1.13 m3makefile --- src/thread/WIN32/m3makefile 21 Apr 2009 11:02:11 -0000 1.13 +++ src/thread/WIN32/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -2,7 +2,6 @@ % All rights reserved. % See the file COPYRIGHT for a full description. -Interface ("ThreadF") Interface ("ThreadContext") module ("ThreadWin32") interface("ThreadInternal") > Date: Sun, 13 Sep 2009 15:36:43 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/13 15:36:43 > > Modified files: > cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 > cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 > cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 > cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 > cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > RTCollector.m3 > RTHeapStats.m3 > RTLinker.m3 RTLinkerX.i3 > cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 > RTException.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 > ThreadPosix.m3 m3makefile > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > m3makefile > cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile > Added files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 > ThreadInternal.i3 > Removed files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 > > Log message: > move ThreadUnsafe.i3 to ThreadInternal.i3 > move most of ThreadF.i3 to ThreadInternal.i3 > ThreadF is safe and public, and small. > ThreadInternal is not safe nor public. > As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. > Three ThreadF.i3s replaced by one. > A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. > ThreadF.i3 is entirely shared. > ThreadInternal.i3 exposes a little extra that is present in all three but only > needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). > > (deletes deferred because of CVS wierdness) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Sep 13 18:57:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 18:57:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913165718.99B36CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 18:57:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Unix.common Log message: newer Sun cc says: cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead cc: Warning: -xarch=v9 is deprecated, use -m64 to create 64-bit programs probe at first use of cc (or ld since it is cc) for the warning and use the new form if it is found In general introduce hooks: configure_assembler() configure_c_compiler() configure_linker() That are called before uses of SYSTEM_ASM, SYSTEM_CC, SYSTEM_LD. configure_assembler was already in use for I386_DARWIN. Even if folks really object to running this stuff as often as it is done, the configure code can probably be used asis (say, at install time) and the results recorded. Personally I don't observe this stuff to be slow and it leaves the system more flexible -- no need to reinstall/reconfigure Modula-3 if in fact this other stuff can be changed after it is installed. From jkrell at elego.de Sun Sep 13 19:13:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:13:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913171342.B5FD0CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:13:42 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c m3unix.h Log message: Newer Sun headers also: typedef struct timespec timespec_t; leading to us getting: "../src/unix/Common/m3unix.h", line 83: warning: typedef redeclared: timespec_t so use timespec_T instead, lame, I know. From jkrell at elego.de Sun Sep 13 19:31:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:31:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913173130.82B33CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:31:30 Added files: cm3/scripts/examples/: make-formsedit.sh Log message: initial copy from make-juno.sh From jkrell at elego.de Sun Sep 13 19:35:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:35:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913173534.A47BA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:35:34 Modified files: cm3/scripts/examples/: make-formsedit.sh Log message: initial guess, might need to put back tools/tk/scanner/parser/bundle From jkrell at elego.de Sun Sep 13 20:28:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 20:28:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913182824.ABD96CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 20:28:24 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: omit mklib, remove tabs, let caller specify target From jkrell at elego.de Sun Sep 13 20:29:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 20:29:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913182929.91F75CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 20:29:29 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollectorSRC.i3 RTCollector.m3 Log message: add do nothing DisableVM for slightly better source compat with old cm3 From hosking at elego.de Sun Sep 13 20:52:06 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 20:52:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913185207.9CCCC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 20:52:06 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 ThreadInternal.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: With ThreadInternal now unsafe restore old unsafe way of manipulating float state. Restore ProcessEachStack (we will be using it for non-STW GC at some point). From jkrell at elego.de Sun Sep 13 21:57:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 21:57:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913195704.7F6082474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 21:57:04 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: path adjustments for msi building, not quite right but might suffice; try to diagnose a strange printout From jkrell at elego.de Sun Sep 13 22:47:26 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 22:47:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913204726.D9B862474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 22:47:26 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: replace /dev/null with os.devnull; this should stop us from creating the file nul that causes the makedist task to fail in strange ways, unless I cleanup the workspace between runs From jkrell at elego.de Sun Sep 13 22:48:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 22:48:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913204827.2B3102474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 22:48:27 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: (more working around that elego uses cygwin Python but I use Win32 Python) From jkrell at elego.de Mon Sep 14 02:38:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 2:38:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914003834.BEF182474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 02:38:34 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: for msi building, hack out executable code from global scope, maybe can structure better later From jkrell at elego.de Mon Sep 14 08:52:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 8:52:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914065216.6433FCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 08:52:16 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: paths written into .wxs file need to be Win3 paths (again, elego Python is Cygwin..mine is not) From jkrell at elego.de Mon Sep 14 10:44:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 10:44:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914084420.BD1492474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 10:44:20 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: further accounting for Cygwin python -- double up slashes on command line; and I think print the wierd printout by redirecting stderr to stdout (wierd because it isn't ordered as expected, ok) From jkrell at elego.de Mon Sep 14 10:51:57 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 10:51:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914085158.AE5C72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 10:51:57 Modified files: cm3/m3-sys/m3cc/src/: gnucc.common Log message: independent reimplementation of the SOLgnu/SOLsun equivalence, because I was out of date, no real change From jkrell at elego.de Mon Sep 14 11:03:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 11:03:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914090356.B6B832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 11:03:55 Modified files: cm3/scripts/python/: pylib.py Log message: copy from release From hosking at elego.de Mon Sep 14 23:52:21 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 14 Sep 2009 23:52:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914215222.391D6CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/14 23:52:21 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 ThreadWin32.m3 Log message: Slight reorg. Tidy up ThreadPosix implementation some. Put back ProcessEachStack (we'll be using it for non-STW GC). From jay.krell at cornell.edu Tue Sep 15 02:20:53 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 15 Sep 2009 00:20:53 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090914215222.391D6CC806@birch.elegosoft.com> References: <20090914215222.391D6CC806@birch.elegosoft.com> Message-ID: Is that legal in ThreadWin32.m3? I didn't realize. Otherwise, I presume it can go in ThreadWin32.i3. Also presumably some ProcessEachStack is needed in ThreadWin32.m3. - Jay ---------------------------------------- > Date: Mon, 14 Sep 2009 23:52:21 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/14 23:52:21 > > Modified files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 > ThreadWin32.m3 > > Log message: > Slight reorg. > Tidy up ThreadPosix implementation some. > Put back ProcessEachStack (we'll be using it for non-STW GC). > From hosking at elego.de Tue Sep 15 04:07:03 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 4:07:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915020704.916C62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 04:07:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 Log message: Oops, put this in the wrong place. From hosking at elego.de Tue Sep 15 04:07:44 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 4:07:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915020744.684AF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 04:07:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Oops, put this in the wrong place. From hosking at elego.de Tue Sep 15 21:47:44 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 21:47:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915194744.E21CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 21:47:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Merge/revert back to last known good ThreadWin32. Jay, give this one a try. From jay.krell at cornell.edu Wed Sep 16 01:38:56 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Tue, 15 Sep 2009 16:38:56 -0700 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090915194744.E21CC2474001@birch.elegosoft.com> References: <20090915194744.E21CC2474001@birch.elegosoft.com> Message-ID: <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> To state the obvious: there was some point to the changes, maybe some necessary accomodation of changed callers??, so I didn't want to just go back. But you do know better. I will try later. Stil hunting formsedit problem too. - Jay (phone) On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/15 21:47:44 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Merge/revert back to last known good ThreadWin32. > Jay, give this one a try. > > From hosking at cs.purdue.edu Wed Sep 16 02:03:56 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 15 Sep 2009 20:03:56 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> References: <20090915194744.E21CC2474001@birch.elegosoft.com> <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> Message-ID: <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> I didn't revert. I undid changes I had made at that time, but retained yours. On 15 Sep 2009, at 19:38, jay.krell at cornell.edu wrote: > To state the obvious: there was some point to the changes, maybe > some necessary accomodation of changed callers??, so I didn't want > to just go back. But you do know better. > I will try later. Stil hunting formsedit problem too. > > - Jay (phone) > > On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: > >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/09/15 21:47:44 >> >> Modified files: >> cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 >> >> Log message: >> Merge/revert back to last known good ThreadWin32. >> Jay, give this one a try. >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Sep 16 04:48:49 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 16 Sep 2009 02:48:49 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> References: <20090915194744.E21CC2474001@birch.elegosoft.com> <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> Message-ID: Tony I meant your changes, sorry for unclarity. - Jay From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Date: Tue, 15 Sep 2009 20:03:56 -0400 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I didn't revert. I undid changes I had made at that time, but retained yours. On 15 Sep 2009, at 19:38, jay.krell at cornell.edu wrote: To state the obvious: there was some point to the changes, maybe some necessary accomodation of changed callers??, so I didn't want to just go back. But you do know better. I will try later. Stil hunting formsedit problem too. - Jay (phone) On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 21:47:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Merge/revert back to last known good ThreadWin32. Jay, give this one a try. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Wed Sep 16 15:32:20 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 16 Sep 2009 15:32:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090916133220.57FE92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/16 15:32:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Oops. Forgot that the changes at that time were due to change in expectation that WaitHeap now must occur inside LockHeap/UnlockHeap. It must release the critical section. Jay, have a try with this. From hosking at elego.de Wed Sep 16 15:51:45 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 16 Sep 2009 15:51:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090916135146.74EE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/16 15:51:45 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Resolve a longstanding issue with out of memory occuring while in the middle of GC. The approach is simply to promote the page containing the object we are trying to copy. This has a benign effect, and may permit the GC to finish safely. Mutators will still receive OOM exceptions if they cannot allocate, at which point they may choose to release some (presumably cached) references before trying the allocation again. From hosking at elego.de Thu Sep 17 22:51:54 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 17 Sep 2009 22:51:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090917205155.15CABCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/17 22:51:54 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: RuntimeError is now unused. From jkrell at elego.de Sat Sep 19 20:26:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 19 Sep 2009 20:26:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919182659.3B7A62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/19 20:26:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Usocket.c Usocket.i3 cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/interix-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/openbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: sysdep reduction: struct linger is identical on all platforms except Cygwin (where it doesn't appear to be Posix-conforming) Posix says the fields are int, but Cygwin uses unsigned short. assert this (in UnixC.c) use a copying wrapper on Cygwin (Usocket.c) remove platform specific code, except for Cygwin (#ifdef a few lines instead of duplicating stuff for every platform) From jkrell at elego.de Sun Sep 20 01:35:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:35:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233505.143FBCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:35:04 Added files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile.old Log message: copy of m3makefile From jkrell at elego.de Sun Sep 20 01:36:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:36:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233604.73E6FCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:36:04 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile Log message: remove old targets From jkrell at elego.de Sun Sep 20 01:39:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:39:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233944.3004DCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:39:44 Added files: cm3/m3-libs/m3core/src/time/POSIX/: DateLinux.m3.old Removed files: cm3/m3-libs/m3core/src/time/POSIX/: DateLinux.m3 Log message: make it clearer that this is not used, Linux is now BSD From jkrell at elego.de Sun Sep 20 01:53:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:53:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919235354.A2D5F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:53:54 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile cm3/m3-libs/m3core/src/: m3makefile Added files: cm3/m3-libs/m3core/src/: platforms.quake Log message: a step toward using TARGET_OS which current config files define, but still compatible with older systems, I guess until the current release occurs From jkrell at elego.de Sun Sep 20 02:26:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:26:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920002628.2C858CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:26:28 Modified files: cm3/m3-libs/libm3/src/: m3makefile cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Added files: cm3/m3-libs/libm3/src/: platforms.quake Log message: a step toward using TARGET_OS and TARGET_ARCH which current config files define, but still compatible with older systems, I guess until the current release occurs From jkrell at elego.de Sun Sep 20 02:27:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:27:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920002732.B7CE6CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:27:32 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: comment only From jkrell at elego.de Sun Sep 20 02:41:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:41:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920004115.55259CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:41:15 Modified files: cm3/m3-libs/m3core/src/: platforms.quake cm3/m3-libs/m3core/src/Csupport/: m3makefile Log message: closer to requiring TARGET_ENDIAN, but again, still compatible This probably breaks tests, will visit shortly. From jkrell at elego.de Sun Sep 20 03:50:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 3:50:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920015033.091BE2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 03:50:32 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-util.c Log message: Very likely remove some porting work: enum m3_target_typ m3_target_pure ( char * name ) { if (strstr(name, "NT386")) { return TARGET_NT386; } /* This is crude but very likely to always be correct. There is a 32bit mode on HP-UX/IA64 and ALPHA_NT is 32bit, but these are hypothetical and unlikely to materialize and could have "32" put in their names, and ALPHA_NT would unlikely support m3gdb. */ if (strstr(name, "32")) { return TARGET_OTHER; } if (strstr(name, "ALPHA")) { return TARGET_64; } if (strstr(name, "64" )) { return TARGET_64; } /* FIXME: Positively check for all M3 compiler target names, or at least all those in m3middle/src/Target.m3 that cause a call on Init64. */ return TARGET_OTHER; } /* m3_target_pure */ where before it was checking for very specific 64bit targets with strcmp. From jkrell at elego.de Sun Sep 20 04:17:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:17:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920021728.760612474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:17:27 Added files: cm3/doc/notes/: porting.txt Log message: initial version, I think too much information and too verbose maybe From jkrell at elego.de Sun Sep 20 04:18:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:18:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920021814.7B05F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:18:14 Modified files: cm3/doc/notes/: porting.txt Log message: remove confusing qualifier From jkrell at elego.de Sun Sep 20 04:21:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:21:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920022120.816EACC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:21:20 Modified files: cm3/doc/notes/: porting.txt Log message: small edits From jkrell at elego.de Sun Sep 20 04:22:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:22:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920022300.40151CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:22:59 Modified files: cm3/doc/notes/: porting.txt Log message: small edits From jkrell at elego.de Sun Sep 20 04:56:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:56:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920025622.463322474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:56:21 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile Log message: fix it to compile From jkrell at elego.de Sun Sep 20 05:00:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 5:00:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920030021.28EB0CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 05:00:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 Log message: fix to compile From jkrell at elego.de Sun Sep 20 05:06:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 5:06:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920030623.AE40ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 05:06:23 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: Fix it to compile -- remove functions that nobody uses and Win32 doesn't currently implement. From jkrell at elego.de Sun Sep 20 06:02:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:02:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920040233.B1B0ACC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:02:33 Modified files: cm3/scripts/: pkgmap.sh Log message: eliminate more uses of date %+s which are not portable to Solaris and cause expr to issue an error From jkrell at elego.de Sun Sep 20 06:05:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:05:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920040517.A03EB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:05:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: eliminate uses of date %+s which are not portable to Solaris and cause expr to issue an error ('C is more portable than sh.') From jkrell at elego.de Sun Sep 20 06:21:19 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:21:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042119.5B112CC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:21:19 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: better -- look around for a C compiler From jkrell at elego.de Sun Sep 20 06:24:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:24:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042411.70315CC815@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:24:11 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:24:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:24:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042429.F0775CC815@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:24:29 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:25:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:25:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042524.88DFBCC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:25:24 Modified files: cm3/scripts/: pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:26:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:26:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042657.9BB02CC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:26:57 Modified files: cm3/scripts/: pkgmap.sh Log message: better -- look around for a C compiler From jkrell at elego.de Sun Sep 20 06:27:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:27:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042737.AF4D62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:27:37 Modified files: cm3/scripts/: pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:28:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:28:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042802.4FCCD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:28:01 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:40:31 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:40:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044031.D51A1CC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:40:31 Modified files: cm3/m3-libs/m3core/src/float/: m3makefile Log message: use TARGET_ENDIAN for the defaulting actually sort of fix the interaction with m3-sys/m3tests that wasn't really implemented correctly in the first place, but it was good enough given that every target uses the default (we should look into improving this before much longer) From jkrell at elego.de Sun Sep 20 06:41:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:41:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044124.9C6ABCC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:41:24 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: remove warning that I just introduced (comment out FloatMode, until MyFPState is used by anyone) From jkrell at elego.de Sun Sep 20 06:45:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:45:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044538.13CEE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:45:37 Modified files: cm3/doc/notes/: porting.txt Log message: some small edits as to criticalness/optionality of some stuff From jkrell at elego.de Sun Sep 20 09:42:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:42:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074206.47215CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:42:06 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c Log message: remove settimeofday we never use it and the wrappers are about to get a little thicker for portability From jkrell at elego.de Sun Sep 20 09:44:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:44:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074416.A9191CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:44:16 Modified files: cm3/m3-tools/cvsup/suplib/src/: FileAttr.m3 Log message: accept default for the second parameter to gettimeofday, so I can remove it From jkrell at elego.de Sun Sep 20 09:46:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:46:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074601.87774CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:46:01 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c Log message: second parameter to gettimeofday always NULL From jkrell at elego.de Sun Sep 20 22:55:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 22:55:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920205504.7CAE2CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 22:55:04 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Usocket.c Usocket.i3 Utime.i3 UtimeC.c Utypes.i3 m3unix.h cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/interix-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/openbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: Usysdep reduction idealize time_t as INTEGER actually I'd like to make it LONGINT So far I haven't seen a 32bit Posix system with a 64bit time_t. I think I've seen even 64bit Posix with 32bit time_t! 32bit Cygwin is threatening to go that way. Windows already is this way by default. They really all should. LONGINT might be source incompatible so holding off on that. and then all the related structs -- timespec, timeval, itimerval This involves "copying wrappers". And since the conversion functions are static in UtimeC.c, move select and utimes wrappers to there. split up Unix__Assertions into Unix__Assertions, Usocket__Assertions, Utime__Assertions We assert that struct linger can be passed through, except on Cygwin and that timespec, timeval, itimerval are all as we expect We will probably soon be using much less of all this code but we can maybe leave it for some compatibility. From jkrell at elego.de Sun Sep 20 23:07:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:07:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920210706.CFA4D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:07:06 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: remove errant but ok character in comment From jkrell at elego.de Sun Sep 20 23:08:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:08:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920210851.D11C4CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:08:51 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: fix syntax error on Cygwin From jkrell at elego.de Sun Sep 20 23:10:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:10:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211018.05C76CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:10:17 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uin.c Log message: #include arpa/inet.h to get prototypes for hton etc. From jkrell at elego.de Sun Sep 20 23:14:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:14:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211442.2A47FCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:14:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: quash warning about mixing signed/unsigned From jkrell at elego.de Sun Sep 20 23:17:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:17:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211703.0357BCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:17:02 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: fix comment slightly From jkrell at elego.de Sun Sep 20 23:25:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:25:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212528.4339CCC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:25:28 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: remove tabs, fix strange hang on Cygwin, avoid strange result of 0 on Cygwin, fix conversion warning; this code isn't currently used but might be at some time? From jkrell at elego.de Sun Sep 20 23:25:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:25:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212553.945E9CC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:25:53 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: fix small typo in comment From jkrell at elego.de Sun Sep 20 23:27:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:27:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212757.4E00ACC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:27:57 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: better ANSI prototypes for functions that take no parameters From jkrell at elego.de Sun Sep 20 23:56:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:56:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920215658.60860CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:56:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: For HP-UX, Interix, Cygwin, define altzone to be timezone - 3600, like Python does. From jkrell at elego.de Mon Sep 21 00:11:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:11:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920221106.0964FCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:11:05 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: DateBsd.m3 Log message: missing a lock mu around use localtime, probably only affects user threads and just wastes time on pthreads, where presumably localtime is already using a thread local (just like it is waste elsewhere in this file for pthreads) From jkrell at elego.de Mon Sep 21 00:30:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:30:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920223021.23588CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:30:21 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: DatePosix.m3 Log message: reentrance here is far from clear, so serialize From jkrell at elego.de Mon Sep 21 00:32:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:32:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920223248.68465CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:32:48 Added files: cm3/m3-libs/m3core/src/unix/Common/: UtimeInternal.i3 Log message: initial copy from Utime.i3; the way struct tm varies makes a lot of this stuff only useful to code that does different things on different platforms, as in m3core/src/time/POSIX From jkrell at elego.de Mon Sep 21 01:45:31 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:45:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234531.840212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:45:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c UtimeInternal.i3 m3unix.h Log message: remove ctime_r, not used, sort of not portable From jkrell at elego.de Mon Sep 21 01:46:36 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:46:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234636.F0B1B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:46:36 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeInternal.i3 Log message: work in progress: prune this way down From jkrell at elego.de Mon Sep 21 01:48:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:48:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234825.BA5592474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:48:25 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uexec.i3 Unix.i3 Uprocess.i3 Upwd.i3 Usched.i3 Usignal.i3 Utime.i3 UtimeInternal.i3 Uugid.i3 Uuio.i3 Log message: remove EXTERNAL pragma from INTERFACE it didn't act consistently seemingly and we ended up marking all the functions/variables anyway From jkrell at elego.de Mon Sep 21 01:49:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:49:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234959.CDDEB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:49:59 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Unix.i3 Log message: add a missing EXTERNAL pragma (but I don't think we use this function anyway) From jkrell at elego.de Mon Sep 21 10:29:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 10:29:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921082903.53B6ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 10:29:03 Added files: cm3/m3-libs/m3core/src/time/POSIX/: DatePosixC.c Log message: initial rewrite of much of DatePosix.m3 and DateBsd.m3 in C this probably will be used it will contain all of our use of struct tm, and then struct tm can disappear from Utime.m3 (well, ok, mktime is ok, but gmtime and localtime are not so much) From jkrell at elego.de Mon Sep 21 22:03:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:03:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921200359.D7F15CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:03:59 Modified files: cm3/scripts/: sysinfo.sh Log message: fix line endings From jkrell at elego.de Mon Sep 21 22:28:11 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:28:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921202811.F1070CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:28:11 Modified files: cm3/scripts/: pkgmap.sh Log message: fix sh for loop syntax From jkrell at elego.de Mon Sep 21 22:28:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:28:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921202845.760EECC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:28:45 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: fix sh for loop syntax From jkrell at elego.de Mon Sep 21 23:15:46 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:15:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211547.C27722474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:15:46 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: adjust for Cygwin, and only do this if reporting; maybe one line of awk can do? From jkrell at elego.de Mon Sep 21 23:17:42 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:17:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211742.AB2002474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:17:42 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: merge if blocks From jkrell at elego.de Mon Sep 21 23:19:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:19:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211922.C8F7B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:19:22 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: whitespace From jkrell at elego.de Mon Sep 21 23:19:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:19:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211945.4A7162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:19:44 Modified files: cm3/scripts/: pkgmap.sh Log message: merge with release From jkrell at elego.de Tue Sep 22 15:10:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 22 Sep 2009 15:10:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090922131033.C492B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/22 15:10:33 Modified files: cm3/m3-sys/m3cc/src/: Tag: release_branch_cm3_5_8 gnucc.common gnumake.common m3makefile Log message: manually merge most changes (in this directory) from head the main point here is to workaround strange bugs in older releases, such as seen in Hudson on PPC_DARWIN where the env variable is missing There was also the "rewrite" of equating SOLgnu and SOLsun. From hosking at elego.de Wed Sep 23 05:45:02 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 23 Sep 2009 5:45:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923034503.6EC922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/23 05:45:02 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTIO.i3 Log message: Fix comment for PutText. From jkrell at elego.de Wed Sep 23 14:06:32 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 23 Sep 2009 14:06:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923120632.131182474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/23 14:06:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: fix multiple parts of the date +%s replacement putting [] here is wrong use M3DATE=`pwd`/m3date Maybe we can just remove all of this entirely? (Solaris date doesn't support +%s, so we'd remove the uses, not just the this replacement.) From jkrell at elego.de Wed Sep 23 14:08:45 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 23 Sep 2009 14:08:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923120845.69ECF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/23 14:08:45 Modified files: cm3/scripts/: pkgmap.sh Log message: manually merge from release, the date +%s/m3date fix From wagner at elego.de Thu Sep 24 11:58:07 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 11:58:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924095807.641982474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 11:58:07 Added files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: generic script to perform package tests in Hudson From wagner at elego.de Thu Sep 24 16:25:25 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 16:25:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924142525.C9F692474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 16:25:25 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkginfo.txt Log message: change order for two test compilations From wagner at elego.de Thu Sep 24 16:53:07 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 16:53:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924145310.A5358CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 16:53:07 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: fix cleaning From wagner at elego.de Thu Sep 24 18:03:29 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 18:03:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924160329.C1CC22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 18:03:29 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: Add support for Hudson CLEAN variable. Add new test function test_build_system, which first tries a straight forward build of the core system and installs the compiler, and if that fails, tries again using the upgrade.sh script. If I understood correctly, the last step should not be needed anymore with an up-to-date cm3. From wagner at elego.de Thu Sep 24 18:36:12 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 18:36:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924163613.CF602CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 18:36:12 Added files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh Log message: first attempt at a generic hudson build script intended to replace the various lastok-build and release-build scripts within Hudson still untested! From hosking at elego.de Fri Sep 25 04:42:13 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 25 Sep 2009 4:42:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090925024213.A37D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/25 04:42:13 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Adr.m3 Cas.m3 CasP.m3 Dec.m3 Dispose.m3 Inc.m3 Loophole.m3 Subarray.m3 cm3/m3-sys/m3front/src/exprs/: CallExpr.i3 CallExpr.m3 CastExpr.m3 DerefExpr.m3 Expr.i3 Expr.m3 ExprRep.i3 KeywordExpr.m3 NamedExpr.m3 QualifyExpr.m3 RecordExpr.m3 SubscriptExpr.m3 VarExpr.m3 cm3/m3-sys/m3front/src/stmts/: AssignStmt.m3 WithStmt.m3 cm3/m3-sys/m3front/src/values/: Formal.m3 Value.i3 Value.m3 ValueRep.i3 Variable.m3 Log message: The generational collector is not concerned with stores of NIL (NULL is untraced) into the heap, so don't generate write barriers for those. From jkrell at elego.de Sun Sep 27 02:24:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:24:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927002430.3F1BBCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:24:29 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:24:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:24:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927002447.D33D02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:24:47 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:33:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:33:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003323.4EF172474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:33:22 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py make-deb.py Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:37:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:37:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003712.DF8622474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:37:12 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: upload .deb and add TARGET to .msi name From jkrell at elego.de Sun Sep 27 02:37:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:37:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003753.6B163CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:37:53 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: comment only From jkrell at elego.de Sun Sep 27 02:38:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:38:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003900.2148B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:38:59 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix .deb extension From jkrell at elego.de Sun Sep 27 02:43:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:43:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927004323.775372474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:43:23 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: show control file in log From jkrell at elego.de Sun Sep 27 03:15:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 3:15:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927011529.E453F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 03:15:27 Modified files: cm3/m3-sys/cm3/src/: Tag: release_branch_cm3_5_8 Main.m3 Log message: fix warning From jkrell at elego.de Sun Sep 27 10:04:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 10:04:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927080412.9BF49CC367@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 10:04:12 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix From jkrell at elego.de Sun Sep 27 11:32:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:32:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927093227.57ACECC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:32:27 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: use correct (existing) Target variable From jkrell at elego.de Sun Sep 27 11:57:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:57:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927095738.9A06ACC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:57:37 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: enable building .deb files, only for Linux targets but there is nothing really Linux specific about them From jkrell at elego.de Sun Sep 27 11:58:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:58:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927095817.AC279CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:58:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: remove do-nothing false command; what was tat for? From jkrell at elego.de Sun Sep 27 12:00:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 12:00:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927100030.60E92CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 12:00:30 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: just go ahead and make .debs for all targets except NT386 From jkrell at elego.de Sun Sep 27 12:01:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 12:01:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927100106.56713CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 12:01:06 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: enable lzma if possible From jkrell at elego.de Sun Sep 27 14:35:09 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:35:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927123509.DFFD32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:35:09 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Tag: release_branch_cm3_5_8 Main.m3 Log message: COPY from head (assuming no changes in this branch), picking up Tony's fix from Sep 1 2009. From jkrell at elego.de Sun Sep 27 14:39:19 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:39:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927123919.42D542474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:39:19 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Tag: release_branch_cm3_5_8 stderr.pgm Log message: copy from head From jkrell at elego.de Sun Sep 27 14:47:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:47:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927124717.6F9BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:47:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: put back false; the point is to prime the loop condition (which might need more work now with my .msi/.deb upload) From jkrell at elego.de Sun Sep 27 14:53:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:53:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927125327.6C446CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:53:27 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: put in the retry logic for msi/deb too that tgz has From jkrell at elego.de Sun Sep 27 14:59:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:59:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927125923.D4D58CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:59:23 Modified files: cm3/scripts/: make-dist.sh Log message: highly manual and partial merge from release branch (I haven't see that cvs knows which changes are in which branch, so you can't just have it merge branches nicely; nothing seem to handle branching as well as Perforce..) From jkrell at elego.de Sun Sep 27 15:01:36 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:01:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130137.10C482474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:01:36 Modified files: cm3/scripts/: upgrade.sh Log message: manual merge from release branch (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:03:07 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:03:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130308.043642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:03:07 Modified files: cm3/scripts/: pkgmap.sh Log message: manual partial merge from release branch (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:07:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:07:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130801.821D4CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:07:58 Modified files: cm3/scripts/: make-src-dist-all.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:09:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:09:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130944.02947CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:09:43 Modified files: cm3/scripts/: make-doc-dist.sh make-src-dist-gnu.sh make-src-dist-std.sh make-src-dist-sys.sh make-src-update.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:11:49 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:11:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927131149.D1F4ACC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:11:49 Modified files: cm3/scripts/: find-packages.sh find-src-dirs.sh list-pkg-dirs.sh make-script-dist.sh sysinfo.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 20:41:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:41:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927184151.D52E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:41:51 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: cleanup after previous failed runs of packaging From jkrell at elego.de Sun Sep 27 20:53:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:53:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927185347.E35F6CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:53:46 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 README Log message: merge from release -- put ./ in front of paths as I found to be apparently needed (on Solaris?) From jkrell at elego.de Sun Sep 27 20:54:13 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:54:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927185413.F42192474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:54:13 Modified files: cm3/scripts/regression/: README Log message: remove extra newline from end From hosking at elego.de Sun Sep 27 21:05:12 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190513.67321CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:05:12 Modified files: cm3/m3-libs/m3core/src/Csupport/: m3makefile Log message: dos2unix From jkrell at elego.de Sun Sep 27 21:08:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 21:08:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190812.A3EE5CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 21:08:12 Modified files: cm3/scripts/: sysinfo.sh Log message: significant merge from release "rewrite" platform sniffing - change if leaders to switches - drop support for FreeBSD 1-3 (just call them FreeBSD4) - sniff AMD64_DARWIN - consistently allow user to override - very much resembles sysinfo-new.sh, but a little more gradual change but above all, this is a merge from release and /very/ nearly matches it From jkrell at elego.de Sun Sep 27 21:09:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 21:09:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190944.64D92CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 21:09:43 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 sysinfo.sh Log message: very minor merge from head - drop DEC SRC support (M3BUILD, M3SHIP), unused, probably incomplete, only two lines of code deleted here - very minor formating (roughly another two lines edited) From hosking at elego.de Sun Sep 27 21:22:20 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:22:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192222.3569ACC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:22:20 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Implement ProcessEachStack. From hosking at elego.de Sun Sep 27 21:24:40 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:24:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192440.57A37CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:24:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Implement ProcessEachStack (stub: asserts false for now) and MyFPState. From hosking at elego.de Sun Sep 27 21:25:27 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:25:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192528.1D2F8CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:25:27 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: There are implementations of ProcessEachStack and MyFPState on all targets now. From hosking at elego.de Sun Sep 27 21:26:11 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:26:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192612.3ADC7CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:26:11 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: IMPORT FloatMode! From hosking at elego.de Mon Sep 28 03:35:18 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 3:35:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928013518.B6B8B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 03:35:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Log message: Add libz to SYSTEM_LIBS. From hosking at elego.de Mon Sep 28 05:33:22 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 5:33:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928033322.F1D43CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 05:33:22 Modified files: cm3/m3-ui/vbtkit/src/lego/POSIX/: ScrollerVBTClass.m3 Log message: Fix crash reported for PPC_DARWIN. Rescreen can be called by other threads while another thread is in the middle of Repaint, and Rescreen may set v.shadow to NIL, which makes Repaint very unhappy. Lock v.mu to prevent unsynchronized access/changes to v.shadow. From hosking at elego.de Mon Sep 28 06:39:09 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 6:39:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928043910.0C1BECC36A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 06:39:09 Modified files: cm3/m3-ui/vbtkit/src/lego/POSIX/: Tag: release_branch_cm3_5_8 ScrollerVBTClass.m3 Log message: Merge from head: fix for formsedit crash reported for PPC_DARWIN, but fix for all POSIX targets. From hosking at elego.de Mon Sep 28 07:15:32 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:15:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928051532.4C1812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:15:32 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:54:08 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:54:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055409.D7555CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:54:08 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:54:58 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:54:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055459.107A0CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:54:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:57:49 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:57:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055749.AA3ECCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:57:49 Modified files: cm3/m3-ui/ui/src/vbt/: VBT.m3 Log message: Pedantic check for mutex holder reworked to use overriding of MUTEX methods, instead of nasty and incorrect (user-thread dependent) hacky LOOPHOLE. From jkrell at elego.de Mon Sep 28 10:33:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:33:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928083345.82ABECC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:33:45 Modified files: cm3/: Tag: release_branch_cm3_5_8 m3overrides Log message: copy from head -- just adds to overloads, pkl-fonts=m3-ui/juno-2/juno-app and EyesVBT=m3-ui/ui/test From jkrell at elego.de Mon Sep 28 10:38:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:38:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928083857.624B3CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:38:51 Modified files: cm3/m3-comm/netobj/tests/echorw/src/: m3makefile cm3/m3-comm/netobj/tests/fd/src/: m3makefile cm3/m3-comm/netobj/tests/fd1/src/: m3makefile cm3/m3-comm/netobj/tests/longcall/src/: m3makefile cm3/m3-comm/netobj/tests/perf/src/: m3makefile cm3/m3-comm/netobj/tests/pkl/src/: m3makefile Log message: copy from release branch -- add quotes around quake strings without quotes was an old DEC SRC Modula-3 allowance as I understand From jkrell at elego.de Mon Sep 28 10:57:29 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:57:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928085729.991FACC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:57:28 Modified files: cm3/: m3overrides Log message: add obliqlibemb=m3-obliq, udp=m3-comm From jkrell at elego.de Mon Sep 28 10:59:54 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:59:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928085954.7F247CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:59:54 Modified files: cm3/m3-comm/events/src/: m3overrides cm3/m3-comm/events/tests/msg/src/: m3overrides cm3/m3-comm/events/tests/work/src/: m3overrides cm3/m3-comm/netobj/src/: m3overrides cm3/m3-comm/netobjd/src/: m3overrides cm3/m3-comm/rdwr/src/: m3overrides cm3/m3-comm/rdwr/test/echo/src/: m3overrides cm3/m3-comm/rdwr/test/john/src/: m3overrides cm3/m3-comm/serial/src/: m3overrides cm3/m3-comm/sharedobj/src/: m3overrides cm3/m3-comm/sharedobj/tests/obsequence/src/: m3overrides cm3/m3-comm/sharedobjgen/src/: m3overrides cm3/m3-comm/stubgen/src/: m3overrides cm3/m3-comm/tapi/src/: m3overrides cm3/m3-comm/tcp/src/: m3overrides cm3/m3-comm/udp/src/: m3overrides cm3/m3-comm/udp/test/src/: m3overrides Log message: cleanup more m3overrides files, to mainly just include ROOT & /m3overrides, but not always From jkrell at elego.de Mon Sep 28 11:32:38 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:32:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928093238.B0834CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:32:38 Modified files: cm3/m3-obliq/metasyn/src/: m3overrides cm3/m3-obliq/obliq/src/: m3overrides cm3/m3-obliq/obliqbin3D/src/: m3overrides cm3/m3-obliq/obliqbinanim/src/: m3overrides cm3/m3-obliq/obliqbinmin/src/: m3overrides cm3/m3-obliq/obliqbinstd/src/: m3overrides cm3/m3-obliq/obliqbinui/src/: m3overrides cm3/m3-obliq/obliqlib3D/src/: m3overrides cm3/m3-obliq/obliqlibanim/src/: m3overrides cm3/m3-obliq/obliqlibemb/src/: m3overrides cm3/m3-obliq/obliqlibm3/src/: m3overrides cm3/m3-obliq/obliqlibui/src/: m3overrides cm3/m3-obliq/obliqparse/src/: m3overrides cm3/m3-obliq/obliqprint/src/: m3overrides cm3/m3-obliq/obliqrt/src/: m3overrides cm3/m3-obliq/obliqsrvstd/src/: m3overrides cm3/m3-obliq/obliqsrvui/src/: m3overrides cm3/m3-obliq/synex/src/: m3overrides cm3/m3-obliq/synloc/src/: m3overrides cm3/m3-obliq/visualobliq/src/: m3overrides cm3/m3-obliq/vocgi/src/: m3overrides cm3/m3-obliq/voquery/src/: m3overrides cm3/m3-obliq/vorun/src/: m3overrides Log message: cleanup all m3-obliq m3overrides files to just include ROOT m3overrides From jkrell at elego.de Mon Sep 28 11:43:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:43:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928094326.441F82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:43:26 Modified files: cm3/m3-ui/anim3D/src/: m3overrides cm3/m3-ui/bicycle/src/: m3overrides cm3/m3-ui/cmvbt/src/: m3overrides cm3/m3-ui/codeview/src/: m3overrides cm3/m3-ui/formsedit/src/: m3overrides cm3/m3-ui/formsvbt/src/: m3overrides cm3/m3-ui/formsvbtpixmaps/src/: m3overrides cm3/m3-ui/formsview/src/: m3overrides cm3/m3-ui/juno-2/juno-app/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/lexer/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/parser/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/scope/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/linear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/nonlinear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/runtime/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/solve/src/: m3overrides Log message: cleanup more m3overrides files some of this is removing copyright statements which is hopefully ok, since I replaced entire files with one line that I wrote.. From jkrell at elego.de Mon Sep 28 11:46:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:46:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928094648.197DECC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:46:47 Modified files: cm3/m3-www/deckscape/src/: m3overrides cm3/m3-www/http/src/: m3overrides cm3/m3-www/proxy/src/: m3overrides cm3/m3-www/web/src/: m3overrides cm3/m3-www/webcat/src/: m3overrides cm3/m3-www/webscape/src/: m3overrides Log message: replace all m3-www m3overrides files with the same 31 byte file From jkrell at elego.de Mon Sep 28 11:58:17 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:58:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928095817.8C1782474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:58:17 Modified files: cm3/m3-ui/ui/src/winvbt/: WinContext.m3 Log message: better to compare against false than true, lest there be other non-zero true values From jkrell at elego.de Mon Sep 28 12:57:52 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 12:57:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928105753.05ED12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 12:57:52 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: should fix an error seen in Hudson From jkrell at elego.de Mon Sep 28 13:13:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 13:13:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928111334.5B642CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 13:13:34 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix it to compile From wagner at elego.de Mon Sep 28 18:24:54 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:24:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928162454.913D92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:24:54 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: fix undefined BSET in test_build_system From wagner at elego.de Mon Sep 28 18:37:44 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:37:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928163752.EED772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:37:44 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: fix typo in test_build_system From wagner at elego.de Mon Sep 28 18:51:19 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:51:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928165120.E96D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:51:19 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh Log message: heed different workspace layouts on master and slaves From hosking at elego.de Mon Sep 28 18:57:37 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 18:57:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928165738.767E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 18:57:37 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Log message: Let's see if this works with the next tinderbox run... From wagner at elego.de Mon Sep 28 19:15:56 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 19:15:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928171557.7D55B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 19:15:56 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: heed different workspace layouts on master and slaves From wagner at elego.de Mon Sep 28 21:13:14 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 21:13:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928191314.537B6CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 21:13:14 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh hudson_pkg_tests.sh Log message: fix prebuilt m3cc logic From hosking at elego.de Tue Sep 29 02:04:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 29 Sep 2009 2:04:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929000448.6459C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/29 02:04:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Clean up Fork code -- no need to signal parent once forked thread is up and running. Joining parent will wait properly on the thread's completion condition. From jkrell at elego.de Tue Sep 29 10:24:03 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:24:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082403.8654CCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:24:03 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: hardcode SL as / From jkrell at elego.de Tue Sep 29 10:24:55 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:24:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082455.6732DCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:24:55 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: hardcode SL as / From jkrell at elego.de Tue Sep 29 10:26:34 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:26:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082634.0B7A4CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:26:34 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: The detection of if a platform has a good FloatMode implementation has never really been correct, but worked by luck. Remove this mechanism for now, until any platform does have a good FloatMode implementation. (It should be easy on NT386 at least, though not on AMD64_NT for example.) From jkrell at elego.de Tue Sep 29 10:28:54 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:28:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082854.48DD3CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:28:54 Modified files: cm3/scripts/regression/: user-defs.sh-example Log message: remove extra newline From jkrell at elego.de Tue Sep 29 10:32:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:32:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929083239.3C215CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:32:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: The idle thread mechanism is apparently buggy and leads to heap corruption and crashes. Juno was apparently just a heavy thread user (unnecessarily so) and is where the crashes were consistently seen (though with somewhat inconsistent details). First provide a small change that sets the idle thread maximum to 0, in case anyone wants to experiment and fix it. Next will delete the whole thing. From jkrell at elego.de Tue Sep 29 10:47:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:47:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929084750.EB8D2CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:47:50 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix my regression from April 21 2009 that turned an EnterCriticalSection into a LeaveCriticalSection; this presumably the problem! From jkrell at elego.de Tue Sep 29 10:52:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:52:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929085257.7D43FCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:52:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: repair LeaveCriticalSection_activeMu() to EnterCriticalSection_activeMu() see: http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3.diff?r1=1.36;r2=1.37;f=u From jkrell at elego.de Tue Sep 29 11:54:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 11:54:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929095406.7BF26CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 11:54:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: eliminate idle thread code pass NIL for last parameter to ReleaseSemaphore assign t.closure := closure earlier, before any possible race From jkrell at elego.de Tue Sep 29 12:04:28 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:04:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929100428.82F18CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:04:28 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: make it look a little more like ThreadPThread.m3 with respect to no need to lock setting of thread.result or reading thread.closure remove assertion that thread.closure is non-NIL (maybe Win32 was better here?) assert that allThreads # me; that is, the initial thread never gets here redefine thread id from an always incrementing number to instead match the Win32 thread id Index: ThreadWin32.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3,v retrieving revision 1.60 diff -u -w -r1.60 ThreadWin32.m3 --- ThreadWin32.m3 29 Sep 2009 09:54:06 -0000 1.60 +++ ThreadWin32.m3 29 Sep 2009 10:02:29 -0000 @@ -17,15 +17,14 @@ FROM WinBase IMPORT WaitForSingleObject, INFINITE, ReleaseSemaphore, GetCurrentProcess, DuplicateHandle, GetCurrentThread, CreateSemaphore, CloseHandle, CreateThread, ResumeThread, Sleep, SuspendThread, - GetThreadContext, VirtualQuery, GetLastError, CREATE_SUSPENDED; + GetThreadContext, VirtualQuery, GetLastError, CREATE_SUSPENDED, + GetCurrentThreadId; (*----------------------------------------- Exceptions, types and globals ---*) VAR default_stack: DWORD := 8192; - nextId: Id := 1; - threadMu: Mutex; (* Global lock for internal fields of Thread.T *) @@ -499,31 +498,21 @@ END ThreadBase; PROCEDURE RunThread (me: Activation) = - VAR self: T; cl: Closure; res: REFANY; + VAR self: T; BEGIN EnterCriticalSection_slotMu(); self := slots [me.slot]; LeaveCriticalSection_slotMu(); - LockMutex(threadMu); - cl := self.closure; - self.id := nextId; INC (nextId); - UnlockMutex(threadMu); - - IF (cl = NIL) THEN - Die (ThisLine(), "NIL closure passed to Thread.Fork!"); - END; - (* Run the user-level code. *) IF perfOn THEN PerfRunning(self.id) END; - res := cl.apply(); + self.result := self.closure.apply(); + IF perfOn THEN PerfChanged(self.id, State.dying) END; LockMutex(threadMu); (* mark "self" done and clean it up a bit *) - self.result := res; self.completed := TRUE; Broadcast(self.cond); (* let everybody know that "self" is done *) - IF perfOn THEN PerfChanged(self.id, State.dying) END; UnlockMutex(threadMu); IF perfOn THEN PerfDeleted(self.id) END; @@ -539,7 +528,7 @@ (* remove ourself from the list of active threads *) EnterCriticalSection_activeMu(); - IF allThreads = me THEN allThreads := me.next; END; + <*ASSERT allThreads # me*> me.next.prev := me.prev; me.prev.next := me.next; me.next := NIL; @@ -571,6 +560,7 @@ act := t.act; act.handle := CreateThread(NIL, stack_size, ThreadBase, act, CREATE_SUSPENDED, ADR(id)); + t.id := id; EnterCriticalSection_activeMu(); act.next := allThreads; act.prev := allThreads.prev; @@ -932,7 +922,7 @@ BEGIN threadMu := NEW(Mutex); self := CreateT(me); - self.id := nextId; INC (nextId); + self.id := GetCurrentThreadId(); mutex := NEW(MUTEX); condition := NEW(Condition); From jkrell at elego.de Tue Sep 29 12:09:59 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:09:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929100959.AFD24CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:09:59 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove obsolete comment about rebirth From jkrell at elego.de Tue Sep 29 12:27:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:27:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929102708.6344CCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:27:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, instead of using one global threadMu for the fields of all threads. Note that Win32 Modula-3 threads/mutexes still scale well due to the the critical section cm that guards everything. Probably can't be fixed until there is a version that depends on the condition variables introduced in Vista. From jkrell at elego.de Tue Sep 29 12:45:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:45:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929104542.3237ECC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:45:41 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: LeaveCriticalSection_activeMu => EnterCriticalSection_activeMu where needed MaxIdle => 0 to disable the idle thread functionality This way Juno no longer crashes worse than historically. From jkrell at elego.de Tue Sep 29 12:51:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:51:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929105156.79234CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:51:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: cleanup: no need for parens around top level expression in if contrary to C From jkrell at elego.de Tue Sep 29 12:52:27 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:52:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929105227.62272CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:52:27 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: restore one set of parens From jkrell at elego.de Tue Sep 29 13:14:38 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:14:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929111438.F34F3CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:14:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix error messages again as Tony had done on Feb 16 2009 From jkrell at elego.de Tue Sep 29 13:36:04 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:36:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929113604.5899CCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:36:04 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: rename "cs" to "heap" since I believe it is conceptually "the heap lock" "cs" is too short of a name, for certain From jkrell at elego.de Tue Sep 29 13:40:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:40:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929114006.0B6C7CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:40:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: rename the lock "cm" to "giant" I believe it a broad, albeit maybe briefly held, lock that is needed because condition variables are difficult to implement well on Win32 (prior to Vista, upon which they are they are trivial) either way, "cm" is not a great name From jkrell at elego.de Tue Sep 29 14:15:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 14:15:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929121533.5670BCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 14:15:33 Modified files: cm3/m3-ui/ui/src/winvbt/: WinContext.m3 Log message: let Juno limp along much better but still doesn't really work From jkrell at elego.de Tue Sep 29 14:24:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 14:24:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929122413.57386CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 14:24:13 Modified files: cm3/m3-ui/juno-2/juno-app/src/: Juno.m3 Log message: add @M3no-trestle-await-delete command line option This enables test cases on Windows like: for /l %a in (1 1 20) do start /wait /min \cm3\bin\Juno.exe @M3no-trestle-await-delete see if it gets to the end or not 20 worked testing 100 now From jkrell at elego.de Tue Sep 29 15:00:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:00:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929130013.409EDCC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:00:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: in comments also: cs => heap cm => giant From jkrell at elego.de Tue Sep 29 15:29:24 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:29:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929132925.096FDCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:29:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: rename 'cond' to 'join' to match pthreads From jkrell at elego.de Tue Sep 29 15:30:52 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:30:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133052.6342CCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:30:52 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move PerfChanged(alive) from Fork to RunThread to patch pthreads and because it enables more profitable mimicing of pthreads imminently From jkrell at elego.de Tue Sep 29 15:35:37 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:35:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133537.9AE76CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:35:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: more adjustments to perf callbacks to match pthreads -- this will let us stop storing the thread id redundantly From jkrell at elego.de Tue Sep 29 15:39:42 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:39:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133942.B18BBCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:39:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 ThreadWin32.i3 ThreadWin32.m3 Log message: like pthread, stop passing around and storing extra thread id just call GetCurrentThreadId as needed (pthread uses the slot index; we have that too, but this is probably better) From jkrell at elego.de Tue Sep 29 15:48:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:48:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929134833.00150CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:48:32 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: reduce critical section -- esp. remove kernel call CloseHandle From hosking at cs.purdue.edu Tue Sep 29 17:11:00 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 29 Sep 2009 11:11:00 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090929102708.6344CCC365@birch.elegosoft.com> References: <20090929102708.6344CCC365@birch.elegosoft.com> Message-ID: On 29 Sep 2009, at 12:27, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/29 12:27:08 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, > instead of using one global threadMu for the fields of all threads. > > Note that Win32 Modula-3 threads/mutexes still scale well due to the don't scale... > the critical section cm that guards everything. Probably can't be > fixed until there is a version that depends on the condition > variables > introduced in Vista. From jay.krell at cornell.edu Tue Sep 29 17:15:45 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 29 Sep 2009 15:15:45 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090929102708.6344CCC365@birch.elegosoft.com> Message-ID: That's what I meant sorry. > From: hosking at cs.purdue.edu > To: jkrell at elego.de > Date: Tue, 29 Sep 2009 11:11:00 -0400 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > On 29 Sep 2009, at 12:27, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 09/09/29 12:27:08 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, > > instead of using one global threadMu for the fields of all threads. > > > > Note that Win32 Modula-3 threads/mutexes still scale well due to the > > don't scale... > > > the critical section cm that guards everything. Probably can't be > > fixed until there is a version that depends on the condition > > variables > > introduced in Vista. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 29 17:34:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 17:34:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929153435.BF668CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 17:34:35 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: change: InnerWait: .. Leave(giant) UnlockMutex: TlsGetValue() Enter(giant) do stuff Leave(giant) to: InnerWait: .. UnlockMutex: TlsGetValue() Enter(giant) (recursive now) do stuff Leave(giant) Leave(giant) This increases the critical section ever so slightly, which can't be too bad, and increases atomicity, which can't be bad. Juno now fails rarely, but not never. Sometimes it hangs. Sometimes it has an array access out of bounds. Assuming m.release() is UnlockMutex. Renaming the mutex to "giant" really does make it easier to understand. From hosking at elego.de Wed Sep 30 15:14:59 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 30 Sep 2009 15:14:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090930131459.0FE07CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/30 15:14:59 Modified files: cm3/m3-tools/cvsup/suplib/src/: m3makefile Log message: Let's try this for Solaris... From hosking at elego.de Wed Sep 30 15:15:23 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 30 Sep 2009 15:15:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090930131523.4840BCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/30 15:15:23 Modified files: cm3/m3-tools/cvsup/quake/: cvsup.quake Log message: Let's try this for Solaris... From wagner at elego.de Tue Sep 1 01:49:50 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 1:49:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090831234950.E92B02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 01:49:50 Added files: cm3/m3-sys/m3tests/src/p2/p213/: Tag: release_branch_cm3_5_8 Main.m3 Log message: add missing file From wagner at elego.de Tue Sep 1 07:41:22 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 7:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901054122.69B98CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 07:41:22 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh version Log message: move default version to pre-RC4 From hosking at elego.de Tue Sep 1 18:14:22 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 1 Sep 2009 18:14:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901161422.C9BE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/01 18:14:22 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Main.m3 Log message: Cleanup synchronization. There should be no races now. From hosking at elego.de Tue Sep 1 18:14:47 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 1 Sep 2009 18:14:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901161447.7E8752474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/01 18:14:47 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: stderr.pgm Log message: Output changed slightly. From wagner at elego.de Tue Sep 1 21:21:51 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 1 Sep 2009 21:21:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090901192152.06A1E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/01 21:21:51 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: heed DS from environment, set VERSION and CM3VERSION for RCs From wagner at elego.de Wed Sep 2 08:13:08 2009 From: wagner at elego.de (Olaf Wagner) Date: Wed, 2 Sep 2009 8:13:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090902061309.17F232474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/02 08:13:08 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 update-releng-index.sh Log message: better exclude non-RC archives From wagner at elego.de Wed Sep 2 19:12:13 2009 From: wagner at elego.de (Olaf Wagner) Date: Wed, 2 Sep 2009 19:12:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090902171213.8986A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/02 19:12:13 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 known-problems.html Log message: update known problems for RC3 From jkrell at elego.de Thu Sep 3 17:55:42 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 17:55:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903155543.023632474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 17:55:42 Modified files: cm3/: m3overrides Log message: add pkl-fonts From jkrell at elego.de Thu Sep 3 17:56:53 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 17:56:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903155653.4D3AB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 17:56:53 Modified files: cm3/m3-ui/juno-2/juno-app/src/: m3overrides Log message: remove build_standalone -- just use the one global m3overrides file From jkrell at elego.de Thu Sep 3 18:05:46 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:05:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903160546.4DC7B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:05:46 Modified files: cm3/m3-ui/juno-2/juno-compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/lexer/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/parser/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/scope/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/linear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/nonlinear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/runtime/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/solve/src/: m3overrides Log message: use one central m3overrides file From jkrell at elego.de Thu Sep 3 18:14:53 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:14:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903161453.B28CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:14:53 Modified files: cm3/: m3overrides Log message: add EyesVBT -- perhaps there should be some intermediate m3overrides, since this is only used by a little test code From jkrell at elego.de Thu Sep 3 18:19:19 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 3 Sep 2009 18:19:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090903161919.504652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/03 18:19:19 Modified files: cm3/m3-ui/PEX/src/: m3overrides cm3/m3-ui/X11R4/src/: m3overrides cm3/m3-ui/images/src/: m3overrides cm3/m3-ui/juno-2/juno-app/pkl-fonts/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/src/: m3overrides cm3/m3-ui/jvideo/src/: m3overrides cm3/m3-ui/m3zume/src/: m3overrides cm3/m3-ui/mg/src/: m3overrides cm3/m3-ui/mgkit/src/: m3overrides cm3/m3-ui/motif/src/: m3overrides cm3/m3-ui/opengl/src/: m3overrides cm3/m3-ui/ui/src/: m3overrides cm3/m3-ui/ui/test/Argus/src/: m3overrides cm3/m3-ui/ui/test/BadBricks/src/: m3overrides cm3/m3-ui/ui/test/ButtonTest/src/: m3overrides cm3/m3-ui/ui/test/Cards/src/: m3overrides cm3/m3-ui/ui/test/ColorMonster/src/: m3overrides cm3/m3-ui/ui/test/Draw/src/: m3overrides cm3/m3-ui/ui/test/EyesVBT/src/: m3overrides cm3/m3-ui/ui/test/Hello/src/: m3overrides cm3/m3-ui/ui/test/Monster/src/: m3overrides cm3/m3-ui/ui/test/Sketch2/src/: m3overrides cm3/m3-ui/ui/test/StarAnim/src/: m3overrides cm3/m3-ui/ui/test/Track/src/: m3overrides cm3/m3-ui/ui/test/TypeInTest/src/: m3overrides cm3/m3-ui/vbtkit/src/: m3overrides cm3/m3-ui/videovbt/src/: m3overrides cm3/m3-ui/webvbt/src/: m3overrides cm3/m3-ui/zeus/src/: m3overrides Log message: use one central m3overrides file plus some unusual content in m3-ui/zeus/src/m3overrides From jkrell at elego.de Fri Sep 4 04:43:12 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 4:43:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904024313.3A355CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 04:43:12 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: remove unused parameter From hosking at elego.de Fri Sep 4 05:32:52 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 4 Sep 2009 5:32:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904033252.89BDE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/04 05:32:51 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Don't hack thread.inCritical unnecessarily. Just make sure this thread is not inCritical when acquiring/releasing the heap lock. From hosking at elego.de Fri Sep 4 05:36:35 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 4 Sep 2009 5:36:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904033635.52E422474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/04 05:36:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Keep the unused parameter to Move. We are going to use it soon for concurrent movers. From jkrell at elego.de Fri Sep 4 08:42:59 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 8:42:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904064259.A7E05CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 08:42:59 Added files: cm3/scripts/examples/: make-compiler.cmd make-juno.cmd Log message: examples From jkrell at elego.de Fri Sep 4 09:43:18 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:43:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074319.551C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:43:17 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: my buildin of Juno was inadvertantly using preexisting stubgen, m3bundle, etc. so add more packages here, NOT experimentally derived or verified, but approximate/guessing and I got it working eventually (running/crashing, not fixed the bug yet..) From jkrell at elego.de Fri Sep 4 09:44:04 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:44:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074404.71A77CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:44:04 Modified files: cm3/scripts/examples/: make-compiler.cmd make-juno.cmd Log message: a little flexibility From jkrell at elego.de Fri Sep 4 09:44:45 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:44:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904074445.28C512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:44:45 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: fix formating (indents should be a multiple of 4) From jkrell at elego.de Fri Sep 4 09:52:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 9:52:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904075247.6D1202474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 09:52:46 Modified files: cm3/scripts/examples/: make-juno.cmd make-compiler.cmd Log message: fix From jkrell at elego.de Fri Sep 4 10:05:38 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 10:05:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904080538.C00BF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 10:05:38 Modified files: cm3/scripts/examples/: make-juno.cmd Log message: fix order From jkrell at elego.de Fri Sep 4 12:03:58 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:03:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904100358.6AF682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:03:58 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: go back a version to keep assertions in RTCollector.m3 succeeding From jay.krell at cornell.edu Fri Sep 4 12:01:33 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 4 Sep 2009 10:01:33 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090904033252.89BDE2474001@birch.elegosoft.com> References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: This breaks things badly. I'm going to undo it. *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 1430 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 2253 *** Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common\RTCollector.m3 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common\RTCollector.m3 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common\RTCollector.m3 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3 ......... ......... ... more frames ... - Jay > Date: Fri, 4 Sep 2009 05:32:52 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/04 05:32:51 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Don't hack thread.inCritical unnecessarily. Just make sure this thread is not > inCritical when acquiring/releasing the heap lock. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Sep 4 12:24:07 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:24:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102408.045FB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:24:07 Modified files: cm3/m3-sys/m3quake/src/: MxConfig.i3 MxConfig.m3 QMachine.i3 QMachine.m3 Log message: changes from release branch -- tracing From jkrell at elego.de Fri Sep 4 12:25:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:25:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102526.77D0F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:25:26 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Makefile.m3 Log message: changes from release branch: tracing, root export, fix unresolve, remove debug output, restore printing target From jkrell at elego.de Fri Sep 4 12:26:39 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 4 Sep 2009 12:26:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090904102639.B83E7CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/04 12:26:39 Modified files: cm3/m3-sys/cm3/src/: Tag: release_branch_cm3_5_8 Main.m3 Log message: change from head -- remove some predefines that are fairly new From hosking at cs.purdue.edu Fri Sep 4 15:14:49 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 4 Sep 2009 09:14:49 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: Umm. That assertion should never fail. I put it in to make sure we weren't totally broken in the threads system. (One should never have a negative thread.inCritical value, and that check makes sure the DEC on the next line is correct. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: > This breaks things badly. > I'm going to undo it. > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 1430 > *** > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 2253 > *** > Stack trace: > FP PC Procedure > --------- --------- ------------------------------- > 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common > \RTCollector.m3 > 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common > \RTCollector.m3 > 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common > \RTCollector.m3 > 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common > \RTHeapMap.m3 > ......... ......... ... more frames ... > > > - Jay > > > > Date: Fri, 4 Sep 2009 05:32:52 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/04 05:32:51 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Don't hack thread.inCritical unnecessarily. Just make sure this > thread is not > > inCritical when acquiring/releasing the heap lock. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Fri Sep 4 15:20:03 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 4 Sep 2009 13:20:03 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: Maybe it is merely 0? This breaks things right away -- can't build the compiler, not related to Juno investigation. - Jay CC: hosking at elego.de; m3commit at elegosoft.com From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Subject: Re: [M3commit] CVS Update: cm3 Date: Fri, 4 Sep 2009 09:14:49 -0400 Umm. That assertion should never fail. I put it in to make sure we weren't totally broken in the threads system. (One should never have a negative thread.inCritical value, and that check makes sure the DEC on the next line is correct. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: This breaks things badly. I'm going to undo it. *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 1430 *** *** *** runtime error: *** <*ASSERT*> failed. *** file "..\src\runtime\common\RTCollector.m3", line 2253 *** Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common\RTCollector.m3 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common\RTCollector.m3 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common\RTCollector.m3 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3 ......... ......... ... more frames ... - Jay > Date: Fri, 4 Sep 2009 05:32:52 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/04 05:32:51 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Don't hack thread.inCritical unnecessarily. Just make sure this thread is not > inCritical when acquiring/releasing the heap lock. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Fri Sep 4 19:31:18 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 4 Sep 2009 13:31:18 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090904033252.89BDE2474001@birch.elegosoft.com> Message-ID: OK, I think I have diagnosed the problem, which also explains my lockups on mentor on I386_DARWIN. Fix incoming... Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 On 4 Sep 2009, at 06:01, Jay K wrote: > This breaks things badly. > I'm going to undo it. > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 1430 > *** > > *** > *** runtime error: > *** <*ASSERT*> failed. > *** file "..\src\runtime\common\RTCollector.m3", line 2253 > *** > Stack trace: > FP PC Procedure > --------- --------- ------------------------------- > 0x12f4a0 0x610eb4 LongAlloc + 0x7a in ..\src\runtime\common > \RTCollector.m3 > 0x12f4d8 0x610dd8 AllocTraced + 0x8a in ..\src\runtime\common > \RTCollector.m3 > 0x12f52c 0x60e7d7 Move + 0x2fc in ..\src\runtime\common > \RTCollector.m3 > 0x12f570 0x637731 Walk + 0x467 in ..\src\runtime\common > \RTHeapMap.m3 > ......... ......... ... more frames ... > > > - Jay > > > > Date: Fri, 4 Sep 2009 05:32:52 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/04 05:32:51 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Don't hack thread.inCritical unnecessarily. Just make sure this > thread is not > > inCritical when acquiring/releasing the heap lock. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sat Sep 5 18:09:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 5 Sep 2009 18:09:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090905160929.A10CCCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/05 18:09:29 Added files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: repeating this exercise on I386_DARWIN.. From jkrell at elego.de Sat Sep 5 18:24:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 5 Sep 2009 18:24:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090905162404.DA07C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/05 18:24:04 Modified files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: initial untested versions From jkrell at elego.de Sun Sep 6 12:42:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 12:42:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906104256.D7325CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 12:42:56 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: enough to start building m3cc From jkrell at elego.de Sun Sep 6 12:59:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 12:59:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906105942.08428CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 12:59:42 Modified files: cm3/scripts/examples/: make-compiler.sh make-juno.sh Log message: some steps forward From jkrell at elego.de Sun Sep 6 13:04:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:04:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906110405.8AE9DCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:04:05 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround buggy text, odd that I didn't see this on NT From jkrell at elego.de Sun Sep 6 13:15:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:15:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906111551.36791CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:15:51 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround buggy text, the consistency here is expected and good From jkrell at elego.de Sun Sep 6 13:26:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 13:26:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906112653.5E682CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 13:26:50 Modified files: cm3/scripts/examples/: make-juno.sh make-compiler.sh Log message: fix newlines, add missing X11 package, make success clearer; they both work now From jkrell at elego.de Sun Sep 6 14:45:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 14:45:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906124517.D11C7CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 14:45:16 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: adapt to older trees that want GNU_CC and GNU_CFLAGS on the config file, whereas current config files do not define them will also need to adapt to older trees whose libm3 has a list of targets in it, or maybe we'll just patch that or maybe this current investigation can make do without versions with that bug From jkrell at elego.de Sun Sep 6 15:26:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:26:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906132604.92220CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:26:04 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: In order to build older libm3 with a bad dependency on cm3, copy m3core and libm3 from boot and don't build them for the first stage. Since sysutils has a history of dependending on contemporary m3core, copy it too. Since older cm3cg is broken in a way I haven't debugged, slow to build, and not relevant to current investigation, don't build it. From jkrell at elego.de Sun Sep 6 15:39:35 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:39:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906133935.DD8A9CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:39:35 Added files: cm3/doc/notes/: building-old.txt Log message: Some notes on building/running old trees. From jkrell at elego.de Sun Sep 6 15:39:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 15:39:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906133955.2BDB8CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 15:39:55 Modified files: cm3/doc/notes/: building-old.txt Log message: and a bug noted that should go in trac From jkrell at elego.de Sun Sep 6 17:32:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 6 Sep 2009 17:32:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090906153251.000EE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/06 17:32:50 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: workaround some sort of overflow in older compilers related to the GetM3Back function -- assuming native builds From hosking at elego.de Tue Sep 8 07:54:58 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 7:54:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908055458.ADC55247400B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 07:54:58 Modified files: cm3/m3-libs/m3core/src/convert/: CConvert.m3 cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 RTCollector.m3 RTCollectorSRC.i3 RTHeapInfo.m3 RTHeapRep.i3 RTHeapRep.m3 RTHeapStats.m3 RTLinker.m3 RTOS.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: Tidy up use of thread.inCritical to only occur in allocation sequences and in thread stoppage. This simplifies reasoning. Refactored use of heap lock in the process. This may be better implemented on PTHREAD targets using a recursive pthread mutex instead of one we roll ourselves from a non-recursive mutex. Still witnessing random hangs in Juno and mentor on I386_DARWIN. Strange, I thought this was working previously. I wonder if there is some sort of race in the GUI code somewhere? From jkrell at elego.de Tue Sep 8 10:39:22 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 10:39:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908083922.326BDCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 10:39:22 Modified files: cm3/m3-libs/m3core/src/unix/Common/: m3unix.h Upthread.c cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTMachineC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: RTMachineC.c Log message: convert properly between the Modula-3 notion of pthread_t -- void* -- and the possibly different native pthread_t, which might be int or size_t or another pointer type Unfortunately this doesn't actually fix anything. Darwin pthread_t is in fact a pointer, so void* was definitely close enough. From jkrell at elego.de Tue Sep 8 12:20:04 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 12:20:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908102004.27BA6CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 12:20:04 Removed files: cm3/m3-libs/m3core/src/runtime/common/: RTThreadInit.i3 Log message: delete unused file From jkrell at elego.de Tue Sep 8 13:05:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:05:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110541.BCFE92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:05:41 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadInternal.i3 Log message: fix it to compile; Juno on NT still crashes From jkrell at elego.de Tue Sep 8 13:08:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:08:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110839.0FB9F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:08:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 Log message: fix it to compile From jkrell at elego.de Tue Sep 8 13:09:16 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:09:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908110916.338962474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:09:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 Log message: fix it to compile From jkrell at elego.de Tue Sep 8 13:16:27 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 13:16:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908111627.AB3A92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 13:16:27 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: add UNSAFE here so it compiles; maybe MyId should be moved to Thread or ThreadF split into ThreadF and ThreadUnsafeF? From jay.krell at cornell.edu Tue Sep 8 13:41:59 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 11:41:59 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090908055458.ADC55247400B@birch.elegosoft.com> References: <20090908055458.ADC55247400B@birch.elegosoft.com> Message-ID: Tony did you mean to alter Init1/Init2 in RTCollector like this? Reversing the order, perhaps breaking paranoidgc, perhaps breaking user threads? user threads are broken, but I had tried them in month. I was just trying them to see if they worked better.. Maybe you were out of date and mismerged? The removal of the thread parameter to LockHeap..you had added that not too long ago, but removing it deliberate? I don't think the Juno hang is GUI related. The problematic threads I think are just dealing with the non-GUI libm3/formater thing. Not certain though. - Jay > Date: Tue, 8 Sep 2009 07:54:58 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 07:54:58 > > Modified files: > cm3/m3-libs/m3core/src/convert/: CConvert.m3 > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > RTCollector.m3 > RTCollectorSRC.i3 > RTHeapInfo.m3 > RTHeapRep.i3 > RTHeapRep.m3 > RTHeapStats.m3 > RTLinker.m3 RTOS.i3 > cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 > cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 > > Log message: > Tidy up use of thread.inCritical to only occur in allocation sequences and in > thread stoppage. This simplifies reasoning. Refactored use of heap lock > in the process. This may be better implemented on PTHREAD targets using a > recursive pthread mutex instead of one we roll ourselves from a non-recursive > mutex. > > Still witnessing random hangs in Juno and mentor on I386_DARWIN. > Strange, I thought this was working previously. > I wonder if there is some sort of race in the GUI code somewhere? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 8 14:10:42 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 14:10:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908121042.A4014CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 14:10:42 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: go back a version, will restore ThreadF to being safe From jkrell at elego.de Tue Sep 8 14:12:55 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 14:12:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908121255.38A7BCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 14:12:55 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: ThreadEvent.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadEvent.i3 ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadEvent.i3 ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadEvent.i3 ThreadF.i3 ThreadInternal.i3 ThreadWin32.m3 Added files: cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 Log message: restore ThreadF to being safe From hosking at elego.de Tue Sep 8 17:01:33 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 17:01:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908150133.BF399CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 17:01:33 Modified files: cm3/m3-libs/debug/src/: Debug.m3 Log message: Let's not log internally. From hosking at elego.de Tue Sep 8 17:16:19 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 8 Sep 2009 17:16:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908151619.97ABA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/08 17:16:19 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadInternal.i3 ThreadWin32.m3 Log message: Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. From jay.krell at cornell.edu Tue Sep 8 18:02:51 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 16:02:51 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090908151619.97ABA2474003@birch.elegosoft.com> References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: Really? Isn't it considerably safer to have a function declaration list the actual type instead of requiring all the callers to cast? I left ThreadF safe and I think I left it all much better than this. Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs to specific types than a bunch of ADDRESSes. - Jay > Date: Tue, 8 Sep 2009 17:16:19 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 17:16:19 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > ThreadInternal.i3 > ThreadWin32.m3 > > Log message: > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Tue Sep 8 18:09:55 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 8 Sep 2009 12:09:55 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: ThreadF is still safe for the world. Any module that imports ThreadF for the purposes of using MyHeapState is going to need to be unsafe anyway, so forcing it to cast (unsafe anyway) is no big deal. MyHeapState is used only by the allocator. To be perfectly honest, I would have no problem making ThreadF UNSAFE since it has so much dangerous stuff in it. But leaving it safe keeps it they way it has always been. On 8 Sep 2009, at 12:02, Jay K wrote: > Really? Isn't it considerably safer to have a function declaration > list the actual type instead of requiring all the callers to cast? > I left ThreadF safe and I think I left it all much better than this. > Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs > to specific types than a bunch of ADDRESSes. > > - Jay > > > > Date: Tue, 8 Sep 2009 17:16:19 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/08 17:16:19 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > > ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > > ThreadInternal.i3 > > ThreadWin32.m3 > > > > Log message: > > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. > Fixed now, which allows me > > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Tue Sep 8 18:12:40 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 8 Sep 2009 16:12:40 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: I agree making ThreadF unsafe isn't worthwhile -- it has a safe subset e.g. MyId and changing it breaks too much -- there was another break besides "debug", I think commandrw, at which point I rethought. But I think moving the new/potentially unsafe part to ThreadUnsafe is better, so the users of MyHeapState, while still unsafe, don't have to presume and perhaps get incorrect the type. Again, I think there are degrees of unsafety and I'd rather see an UNTRACED REF to a specific type than an address, as I had left it. - Jay CC: hosking at elego.de; m3commit at elegosoft.com From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Subject: Re: [M3commit] CVS Update: cm3 Date: Tue, 8 Sep 2009 12:09:55 -0400 ThreadF is still safe for the world. Any module that imports ThreadF for the purposes of using MyHeapState is going to need to be unsafe anyway, so forcing it to cast (unsafe anyway) is no big deal. MyHeapState is used only by the allocator. To be perfectly honest, I would have no problem making ThreadF UNSAFE since it has so much dangerous stuff in it. But leaving it safe keeps it they way it has always been. On 8 Sep 2009, at 12:02, Jay K wrote:Really? Isn't it considerably safer to have a function declaration list the actual type instead of requiring all the callers to cast? I left ThreadF safe and I think I left it all much better than this. Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs to specific types than a bunch of ADDRESSes. - Jay > Date: Tue, 8 Sep 2009 17:16:19 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/08 17:16:19 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > ThreadInternal.i3 > ThreadWin32.m3 > > Log message: > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. Fixed now, which allows me > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Tue Sep 8 18:21:19 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 8 Sep 2009 12:21:19 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090908151619.97ABA2474003@birch.elegosoft.com> Message-ID: <518B77E2-2351-463B-B2DF-DC8BB92D9D43@cs.purdue.edu> If it really bothers you then we can clean it up, but again, ThreadF is really a private interface and the only client of MyHeapState, RTAllocator.m3, is *very* *carefully* written. On 8 Sep 2009, at 12:12, Jay K wrote: > I agree making ThreadF unsafe isn't worthwhile -- it has a safe > subset e.g. MyId and changing it breaks too much -- there was > another break besides "debug", I think commandrw, at which point I > rethought. > But I think moving the new/potentially unsafe part to ThreadUnsafe > is better, so the users of MyHeapState, while still unsafe, don't > have to presume and perhaps get incorrect the type. Again, I think > there are degrees of unsafety and I'd rather see an UNTRACED REF to > a specific type than an address, as I had left it. > > - Jay > > > CC: hosking at elego.de; m3commit at elegosoft.com > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Subject: Re: [M3commit] CVS Update: cm3 > Date: Tue, 8 Sep 2009 12:09:55 -0400 > > ThreadF is still safe for the world. Any module that imports > ThreadF for the purposes of using MyHeapState is going to need to be > unsafe anyway, so forcing it to cast (unsafe anyway) is no big > deal. MyHeapState is used only by the allocator. To be perfectly > honest, I would have no problem making ThreadF UNSAFE since it has > so much dangerous stuff in it. But leaving it safe keeps it they > way it has always been. > > On 8 Sep 2009, at 12:02, Jay K wrote: > > Really? Isn't it considerably safer to have a function declaration > list the actual type instead of requiring all the callers to cast? > I left ThreadF safe and I think I left it all much better than this. > Safety is not a boolean. I'd much rather have a lot of UNTRACED REFs > to specific types than a bunch of ADDRESSes. > > - Jay > > > > Date: Tue, 8 Sep 2009 17:16:19 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/09/08 17:16:19 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > > ThreadPThread.m3 > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 > > ThreadInternal.i3 > > ThreadWin32.m3 > > > > Log message: > > Forgot to propagate safety fix for MyHeapState to WIN32 and POSIX. > Fixed now, which allows me > > to undo Jay's unfortunate bandaid. ThreadF is safe as god intended. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 8 18:41:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 8 Sep 2009 18:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090908164139.467012474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/08 18:41:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: back from ThreadF to ThreadUnsafe to we can remove some casts might be good to generally move ThreadF to Thread and ThreadUnsafe? or likely not worth the breaking of the existing ThreadF clients outside m3core From hosking at elego.de Fri Sep 11 07:58:40 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 11 Sep 2009 7:58:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911055841.0B1DC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/11 07:58:40 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Log message: Added pthread_cond_timedwait and pthread_cond_broadcast. From jkrell at elego.de Fri Sep 11 14:23:20 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 14:23:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911122320.E009F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 14:23:20 Modified files: cm3/scripts/python/: pylib.py Log message: better autoconfiguration on Windows, some added comments, some changed style of comments From jkrell at elego.de Fri Sep 11 14:34:07 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 14:34:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911123407.7C11C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 14:34:07 Added files: cm3/scripts/win/: setup.cmd Log message: bring over file from release branch From jkrell at elego.de Fri Sep 11 15:36:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 15:36:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911133605.795F32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 15:36:05 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: don't print an error deleting nonexistant file From jkrell at elego.de Fri Sep 11 16:07:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 16:07:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911140744.2A0902474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 16:07:43 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: delete setup.txt in the loop so it doesn't keep accumulating From jkrell at elego.de Fri Sep 11 16:51:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 16:51:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911145135.4974E2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 16:51:33 Modified files: cm3/scripts/python/: pylib.py make-dist.py Log message: move license directory creation to InstallLicense function From jkrell at elego.de Fri Sep 11 17:03:48 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:03:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150349.9D1112474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:03:48 Modified files: cm3/scripts/python/: pylib.py make-dist.py Log message: move more of license directory creation to InstallLicense function and use a simple statement in the installer based on the toplevel README in the source tree From jkrell at elego.de Fri Sep 11 17:04:34 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:04:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150435.75CB12474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:04:34 Added files: cm3/scripts/python/: make-msi.py Log message: initial copy of make-msi.py from make-dist.py From jkrell at elego.de Fri Sep 11 17:09:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:09:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911150942.E170D2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:09:42 Modified files: cm3/scripts/python/: pylib.py Log message: fix indent, it matters (copy/paste error) From jkrell at elego.de Fri Sep 11 17:10:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:10:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911151044.012F82474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:10:43 Modified files: cm3/scripts/python/: make-msi.py Log message: initial real version: cut it way down, add command line parsing, usage From jkrell at elego.de Fri Sep 11 17:32:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:32:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153242.6F6222474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:32:42 Modified files: cm3/scripts/python/: make-msi.py pylib.py Log message: some small fixes to msi creation and license install (such as actually install the licenses before making the msi) From jkrell at elego.de Fri Sep 11 17:37:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:37:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153727.0E1112474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:37:26 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:38:59 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:38:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153859.9BCD32474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:38:59 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 do-cm3-caltech-parser.py make-dist.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:39:21 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:39:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911153922.1B37C2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:39:21 Added files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 make-msi.py Log message: merge from head From jkrell at elego.de Fri Sep 11 17:40:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:40:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911154026.36D562474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:40:26 Added files: cm3/scripts/python/: make-dist-cfg.py Log message: merge from release From jkrell at elego.de Fri Sep 11 17:43:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 17:43:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911154333.308B52474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 17:43:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: initial attempt at .msi creation From jkrell at elego.de Fri Sep 11 18:13:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 18:13:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911161346.CC9352474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 18:13:46 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix path to make-msi.py From jkrell at elego.de Fri Sep 11 18:39:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 18:39:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911163933.31DFE2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 18:39:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix if [ type to be if type From jkrell at elego.de Fri Sep 11 22:17:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:17:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911201730.67DDD2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:17:30 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix path to .msi file From jkrell at elego.de Fri Sep 11 22:29:27 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:29:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911202927.EC3632474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:29:27 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix .msi paths further; I think there's another problem though From jkrell at elego.de Fri Sep 11 22:38:28 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:38:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911203831.5474F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:38:28 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: general problem of too much stuff at global scope; workaround some of it (to address that make-msi.py is complaining about findstr against cm3.exe, cygwin path of cm3.exe being passed to win32 findstr) From jkrell at elego.de Fri Sep 11 22:39:04 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 22:39:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911203905.B931F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 22:39:04 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: put comments more firmly with their code From hosking at elego.de Fri Sep 11 22:48:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 11 Sep 2009 22:48:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911204841.582E12474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/11 22:48:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Mentor and Juno finally work on I386_DARWIN. ***Significant overhaul of thread alerting.*** Invariant now is that all waiting is done on the thread's own condition variable. This cleanly permits signals and alerts from any other thread. Need to set DISPLAY=:0.0 and xhost+ to get around problems with DISPLAY=/tmp/launch-XXXXXX/:0. From jkrell at elego.de Fri Sep 11 23:20:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 11 Sep 2009 23:20:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911212056.084B62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/11 23:20:51 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: some accomodation for Python being Cygwin; mine is Win32, elego's is Cygwin; there are bugs but not (known) in Hudson/msi code (there were) From jkrell at elego.de Sat Sep 12 00:19:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:19:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911222000.AD4052474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:19:59 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: use ; for portable path list separator when possible -- start fixing the bugs that occur when cygwin Python tries to auotconfigure LIB and INCLUDE, but not done, ok From jkrell at elego.de Sat Sep 12 00:37:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:37:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911223703.52B2F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:37:03 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: deal more with path format issues, maybe all ok now? From jkrell at elego.de Sat Sep 12 00:39:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:39:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911223954.E96C72474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:39:54 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: remove hopefully out of date comment From jkrell at elego.de Sat Sep 12 00:43:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:43:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911224330.C5D6B2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:43:30 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: between os.path.pathsep and os.pathsep, alwayse use the shorter name os.pathsep, they are the same thing From jkrell at elego.de Sat Sep 12 00:45:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 0:45:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090911224521.D5E812474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 00:45:21 Modified files: cm3/scripts/python/: pylib.py Log message: merge from release From jkrell at elego.de Sat Sep 12 19:24:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:24:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912172405.C19002474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:24:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: - wrap everything, it is a little safer - simplify and shrink rare error path instead of optimizing it for speed From jkrell at elego.de Sat Sep 12 19:52:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:52:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175222.87A1A2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:52:22 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: merge from release -- declare function to avoid warning From jkrell at elego.de Sat Sep 12 19:53:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:53:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175310.5208E2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:53:10 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c Log message: merge from release -- declare function to avoid warning From jkrell at elego.de Sat Sep 12 19:55:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 19:55:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912175533.42E222474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 19:55:33 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: just minor word wrap of exports as part of merge with release From jkrell at elego.de Sat Sep 12 20:06:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:06:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912180610.28BAB2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:06:10 Added files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadUnsafe.i3 Log message: new file from head From jkrell at elego.de Sat Sep 12 20:15:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:15:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912181511.85E682474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:15:11 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 Log message: manual merge from head -- remove unsafe marker (though they do import the borderline ThreadF, but they only declare types, no functions) From jkrell at elego.de Sat Sep 12 20:19:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 12 Sep 2009 20:19:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090912181955.BD9882474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/12 20:19:55 Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadEvent.i3 Log message: remove unused files From jkrell at elego.de Sun Sep 13 02:28:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 2:28:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913002821.82EBA2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 02:28:20 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.i3 Log message: add one space for consistent formating From jkrell at elego.de Sun Sep 13 03:21:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:21:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012122.35B1A2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:21:21 Modified files: cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 Log message: remove unused import From jkrell at elego.de Sun Sep 13 03:26:45 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:26:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012645.38E522474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:26:44 Modified files: cm3/m3-libs/m3core/src/convert/: Tag: release_branch_cm3_5_8 CConvert.m3 cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTMachineC.c cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTAllocator.m3 RTCollector.m3 RTCollectorSRC.i3 RTHeapInfo.m3 RTHeapRep.i3 RTHeapRep.m3 RTHeapStats.m3 RTLinker.m3 RTOS.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: Tag: release_branch_cm3_5_8 RTExFrame.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: Tag: release_branch_cm3_5_8 RTExStack.m3 cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadWin32.m3 cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Upthread.c Usocket.c Usocket.i3 m3unix.h cm3/m3-libs/m3core/src/unix/uin-common/: Tag: release_branch_cm3_5_8 Uin.i3 cm3/m3-libs/m3core/src/unix/uin-len/: Tag: release_branch_cm3_5_8 Uin.i3 Log message: merge head to release, making them nearly identical for m3core - Tony's thread fixes - add struct_sockaddr_un - just one set of socklen_t wrappers From jkrell at elego.de Sun Sep 13 03:29:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 3:29:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913012904.C4C852474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 03:29:04 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 Log message: only fix newlines From hosking at elego.de Sun Sep 13 06:55:36 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 6:55:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913045536.4A1E7CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 06:55:36 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Retain saner code from before recent reworking of alert mechanisms. From hosking at elego.de Sun Sep 13 06:57:34 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 6:57:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913045735.2B1B9CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 06:57:34 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Rename AllocTraced to AllocCopy (RTAllocator.AllocTraced remains). From jkrell at elego.de Sun Sep 13 07:56:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 7:56:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913055619.29D5ECC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 07:56:18 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/AP3000/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/DS3100/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HP300/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/HPPA/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMR2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IBMRT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/IRIX5/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUX/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NEXT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OKI/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/OS2/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SEQUENT/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN3/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SUN386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/UMAX/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/VAX/: RTMachine.i3 Log message: Just fix newlines. I thought I had tried this earlier and there was no diff. (No, I'm not confusing the branches; I know I already got the release branch; I thought I had also checked head.) From jkrell at elego.de Sun Sep 13 07:58:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 7:58:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913055834.17E20CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 07:58:33 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: just fix line endings From jkrell at elego.de Sun Sep 13 08:01:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060139.B10382474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:01:39 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.c Log message: just remove a few spaces at end of line From jkrell at elego.de Sun Sep 13 08:05:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:05:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060545.06954CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:05:44 Removed files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadEvent.i3 Log message: remove unused files From jkrell at elego.de Sun Sep 13 08:07:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:07:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060737.6D04ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:07:37 Removed files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTThreadInit.i3 Log message: remove another unused file (the function is in ThreadF) From jkrell at elego.de Sun Sep 13 08:09:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:09:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913060948.EE747CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:09:48 Added files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Unix.pl Unix.txt Log message: bring over two new files from head From jkrell at elego.de Sun Sep 13 08:19:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:19:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913061925.5F36CCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:19:24 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachineASM.s Log message: go back to historical version 1.1, before I changed anything in a not terrible way but for the wrong reasons From jkrell at elego.de Sun Sep 13 08:21:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:21:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913062134.48DCCCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:21:34 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachineASM.s Log message: go back to historical version 1.2, before I changed anything in a not terrible way but for the wrong reasons From jkrell at elego.de Sun Sep 13 08:23:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 8:23:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913062322.D5918CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 08:23:22 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachineASM.s cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachineASM.s Log message: copy from head -- go back to old 1.1 and 2.2 versions From jkrell at elego.de Sun Sep 13 15:08:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:08:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913130801.BAED0CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:08:01 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 Log message: remove SetSwitchingInterval It didn't do anything on NT and wasn't declared for pthread. For greater source compat we could put it in and have it do nothing for NT and pthread, but we are already getting on without it in pthread. remove ProcessEachStack It is only in pthread and never used. From jay.krell at cornell.edu Sun Sep 13 15:10:10 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 13 Sep 2009 13:10:10 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090913130801.BAED0CC7DE@birch.elegosoft.com> References: <20090913130801.BAED0CC7DE@birch.elegosoft.com> Message-ID: I find it too painful to find diffs given a checkin mail, so here: Index: src/thread/POSIX/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadF.i3,v retrieving revision 1.15 diff -u -r1.15 ThreadF.i3 --- src/thread/POSIX/ThreadF.i3 8 Sep 2009 16:41:38 -0000 1.15 +++ src/thread/POSIX/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -66,13 +66,6 @@ PROCEDURE MyId(): Id RAISES {}; (* return Id of caller *) -(*------------------------------------------------------------ preemption ---*) - -PROCEDURE SetSwitchingInterval (usec: CARDINAL); -(* Sets the time between thread preemptions to 'usec' microseconds. - Note that most Unix systems dont guarantee much if any precision - on timer interrupts. The default value is 100 milliseconds. *) - (*---------------------------------------------------- exception delivery ---*) PROCEDURE GetCurrentHandlers(): ADDRESS; Index: src/thread/POSIX/ThreadPosix.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v retrieving revision 1.44 diff -u -r1.44 ThreadPosix.m3 --- src/thread/POSIX/ThreadPosix.m3 12 Sep 2009 17:55:32 -0000 1.44 +++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:05:22 -0000 @@ -767,15 +767,6 @@ IF inCritical = 0 AND heapState.inCritical = 0 THEN InternalYield () END; END switch_thread; -PROCEDURE SetSwitchingInterval (usec: CARDINAL) = - BEGIN - INC (inCritical); - selected_interval.tv_sec := usec DIV 1000000; - selected_interval.tv_usec := usec MOD 1000000; - DEC (inCritical); - IF multipleThreads THEN StartSwitching () END; - END SetSwitchingInterval; - (*------------------------------------------------------------- scheduler ---*) PROCEDURE CanRun (t: T) = Index: src/thread/PTHREAD/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadF.i3,v retrieving revision 1.17 diff -u -r1.17 ThreadF.i3 --- src/thread/PTHREAD/ThreadF.i3 8 Sep 2009 16:41:38 -0000 1.17 +++ src/thread/PTHREAD/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -24,11 +24,6 @@ of the stack. All other threads must be suspended. ProcessStacks exists solely for the garbage collector. *) -PROCEDURE ProcessEachStack (p: PROCEDURE (start, stop: ADDRESS)); -(* Apply p to each thread stack, with [start..stop) being the limits - of the stack. Each thread is suspended individually. ProcessEachStack - exists solely for the garbage collector. *) - (*------------------------------------------------ floating point support ---*) (* access to the saved floating point state for the current thread. *) Index: src/thread/PTHREAD/ThreadPThread.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v retrieving revision 1.138 diff -u -r1.138 ThreadPThread.m3 --- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 04:55:33 -0000 1.138 +++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:05:22 -0000 @@ -995,55 +995,6 @@ END; END ProcessStacks; -PROCEDURE ProcessEachStack (p: PROCEDURE (start, stop: ADDRESS)) = - (* LL=0 *) - VAR - me := GetActivation(); - act: Activation; - acks: int; - BEGIN - WITH r = pthread_mutex_lock_active() DO <*ASSERT r=0*> END; - - ProcessMe(me, p); - - act := me.next; - WHILE act # me DO - (* stop *) - LOOP - IF StopThread(act) THEN EXIT END; - IF SignalThread(act, ActState.Stopping) THEN - WITH r = sem_getvalue(acks) DO <*ASSERT r=0*> END; - IF acks > 0 THEN - WHILE sem_wait() # 0 DO - <*ASSERT Cerrno.GetErrno() = Uerror.EINTR*> - END; - EXIT; - END; - END; - CommonSleep(); - END; - (* process *) - ProcessOther(act, p); - (* start *) - LOOP - IF StartThread(act) THEN EXIT END; - IF SignalThread(act, ActState.Starting) THEN - WITH r = sem_getvalue(acks) DO <*ASSERT r=0*> END; - IF acks > 0 THEN - WHILE sem_wait() # 0 DO - <*ASSERT Cerrno.GetErrno() = Uerror.EINTR*> - END; - EXIT; - END; - END; - CommonSleep(); - END; - act := act.next; - END; - - WITH r = pthread_mutex_unlock_active() DO <*ASSERT r=0*> END; - END ProcessEachStack; - PROCEDURE ProcessMe (me: Activation; p: PROCEDURE (start, stop: ADDRESS)) = (* LL=activeMu *) VAR Index: src/thread/WIN32/ThreadF.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadF.i3,v retrieving revision 1.17 diff -u -r1.17 ThreadF.i3 --- src/thread/WIN32/ThreadF.i3 8 Sep 2009 16:41:39 -0000 1.17 +++ src/thread/WIN32/ThreadF.i3 13 Sep 2009 13:05:22 -0000 @@ -26,12 +26,6 @@ (* Feature: Windows threads not created by Thread.Fork are not suspended or resumed, and their stacks are not processed. *) -(*------------------------------------------------------------ preemption ---*) - -PROCEDURE SetSwitchingInterval (usec: CARDINAL); -(* Sets the time between thread preemptions to 'usec' microseconds. - This procedure is a no-op on Windows/NT. *) - (*------------------------------------------------------------ thread IDs ---*) TYPE Index: src/thread/WIN32/ThreadWin32.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3,v retrieving revision 1.47 diff -u -r1.47 ThreadWin32.m3 --- src/thread/WIN32/ThreadWin32.m3 8 Sep 2009 16:41:39 -0000 1.47 +++ src/thread/WIN32/ThreadWin32.m3 13 Sep 2009 13:05:22 -0000 @@ -695,12 +695,6 @@ RETURN res; END AlertJoin; -(*------------------------------------------------ timer-based preemption ---*) - -PROCEDURE SetSwitchingInterval (<*UNUSED*> usec: CARDINAL) = - BEGIN - END SetSwitchingInterval; - (*---------------------------------------------------- Scheduling support ---*) PROCEDURE Pause(n: LONGREAL) = > Date: Sun, 13 Sep 2009 15:08:01 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/13 15:08:01 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 ThreadPosix.m3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 > ThreadPThread.m3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 ThreadWin32.m3 > > Log message: > remove SetSwitchingInterval > It didn't do anything on NT and wasn't declared for pthread. > For greater source compat we could put it in and have it do > nothing for NT and pthread, but we are already getting on > without it in pthread. > > remove ProcessEachStack > It is only in pthread and never used. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Sep 13 15:36:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:36:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913133643.92BBCCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:36:43 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 RTCollector.m3 RTHeapStats.m3 RTLinker.m3 RTLinkerX.i3 cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 RTException.m3 cm3/m3-libs/m3core/src/thread/Common/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile Added files: cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 ThreadInternal.i3 Removed files: cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 Log message: move ThreadUnsafe.i3 to ThreadInternal.i3 move most of ThreadF.i3 to ThreadInternal.i3 ThreadF is safe and public, and small. ThreadInternal is not safe nor public. As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. Three ThreadF.i3s replaced by one. A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. ThreadF.i3 is entirely shared. ThreadInternal.i3 exposes a little extra that is present in all three but only needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). (deletes deferred because of CVS wierdness) From jkrell at elego.de Sun Sep 13 15:37:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 15:37:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913133739.610D4CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 15:37:39 Removed files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 Log message: move ThreadUnsafe.i3 to ThreadInternal.i3 move most of ThreadF.i3 to ThreadInternal.i3 ThreadF is safe and public, and small. ThreadInternal is not safe nor public. As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. Three ThreadF.i3s replaced by one. A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. ThreadF.i3 is entirely shared. ThreadInternal.i3 exposes a little extra that is present in all three but only needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). (deletes deferred because of CVS wierdness) From jay.krell at cornell.edu Sun Sep 13 15:39:19 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 13 Sep 2009 13:39:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090913133643.92BBCCC806@birch.elegosoft.com> References: <20090913133643.92BBCCC806@birch.elegosoft.com> Message-ID: Index: src/float/DS3100/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/DS3100/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/DS3100/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/DS3100/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -21,7 +21,7 @@ doesn't cause floating-point exceptions) *) -IMPORT FPU, Usignal, ThreadF, Word, RTMisc; +IMPORT FPU, Usignal, ThreadInternal, Word, RTMisc; TYPE RM = RoundingMode; TYPE MRM = FPU.RoundingMode; @@ -53,7 +53,7 @@ ExtractFlags (status, state, flags); END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -141,7 +141,7 @@ END; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); RETURN flags; END SetFlags; @@ -163,7 +163,7 @@ state.sticky [f] := FALSE; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -242,7 +242,7 @@ EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER)); END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = @@ -252,7 +252,7 @@ behavior := state.behavior [f]; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN behavior; END GetBehavior; Index: src/float/IRIX5/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/IRIX5/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/IRIX5/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/IRIX5/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -22,7 +22,7 @@ doesn't cause floating-point exceptions) *) -IMPORT FPU, Usignal, ThreadF, Word, RTError; +IMPORT FPU, Usignal, ThreadInternal, Word, RTError; TYPE RM = RoundingMode; TYPE MRM = FPU.RoundingMode; @@ -54,7 +54,7 @@ ExtractFlags (status, state, flags); END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -142,7 +142,7 @@ END; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); RETURN flags; END SetFlags; @@ -164,7 +164,7 @@ state.sticky [f] := FALSE; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -243,7 +243,7 @@ EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER)); END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = @@ -253,7 +253,7 @@ behavior := state.behavior [f]; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN behavior; END GetBehavior; Index: src/float/VAX/FloatMode.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/VAX/FloatMode.m3,v retrieving revision 1.2 diff -u -w -r1.2 FloatMode.m3 --- src/float/VAX/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2 +++ src/float/VAX/FloatMode.m3 13 Sep 2009 13:27:35 -0000 @@ -9,7 +9,7 @@ MODULE FloatMode (* FOR VAX *); -IMPORT ThreadF; +IMPORT ThreadInternal; PROCEDURE SetRounding(md: RoundingMode) RAISES {Failure} = BEGIN @@ -28,7 +28,7 @@ flags := state.sticky; END Get; BEGIN - ThreadF.GetMyFPState(Get); + ThreadInternal.GetMyFPState(Get); RETURN flags; END GetFlags; @@ -49,7 +49,7 @@ state.sticky := state.sticky - SET OF Flag {f}; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END ClearFlag; TYPE @@ -74,7 +74,7 @@ state.behavior [f] := b; END Set; BEGIN - ThreadF.SetMyFPState(Set); + ThreadInternal.SetMyFPState(Set); END SetBehavior; PROCEDURE GetBehavior(f: Flag): Behavior = Index: src/runtime/NT386/RTSignal.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/NT386/RTSignal.m3,v retrieving revision 1.2 diff -u -w -r1.2 RTSignal.m3 --- src/runtime/NT386/RTSignal.m3 12 Feb 2001 15:22:45 -0000 1.2 +++ src/runtime/NT386/RTSignal.m3 13 Sep 2009 13:27:35 -0000 @@ -4,7 +4,7 @@ UNSAFE MODULE RTSignal; IMPORT RT0, RTMachInfo, RTError, RTException, RTProcess, RuntimeError; -IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadF; +IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadInternal; TYPE RTE = RuntimeError.T; @@ -60,7 +60,7 @@ END; (* Otherwise, just dump our guts... *) - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); FOR i := FIRST (SysErrs) TO LAST (SysErrs) DO IF (SysErrs[i].err = err) THEN RTError.ReportPC (pc, SysErrs[i].msg); @@ -71,7 +71,7 @@ EXIT; END; END; - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); (*** IF (old_filter # NIL) THEN RETURN old_filter (info); Index: src/runtime/WIN32/RTOS.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/WIN32/RTOS.m3,v retrieving revision 1.5 diff -u -w -r1.5 RTOS.m3 --- src/runtime/WIN32/RTOS.m3 29 Dec 2008 10:23:39 -0000 1.5 +++ src/runtime/WIN32/RTOS.m3 13 Sep 2009 13:27:35 -0000 @@ -6,7 +6,7 @@ UNSAFE MODULE RTOS; -IMPORT RTMachInfo, RTSignal, ThreadF; +IMPORT RTMachInfo, RTSignal, ThreadInternal; IMPORT WinBase, WinCon, WinDef; (*--------------------------------------------------- process termination ---*) @@ -20,7 +20,7 @@ CONST Magic = 1 * ADRSIZE (INTEGER); (* == offset of "fp" in this frame *) VAR fp: ADDRESS := ADR (fp) + Magic; (* == my frame pointer *) BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); RTMachInfo.DumpStack (LOOPHOLE (Crash, ADDRESS), fp); RTSignal.RestoreHandlers (); (* so we really do crash... *) IF WinBase.IsDebuggerPresent () # 0 THEN @@ -33,7 +33,7 @@ PROCEDURE Crash () = VAR ptr := LOOPHOLE(-99, UNTRACED REF INTEGER); BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); ptr^ := 99; (* try to get to the debugger... *) Exit (-1); END Crash; Index: src/runtime/common/RTAllocator.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTAllocator.m3,v retrieving revision 1.32 diff -u -w -r1.32 RTAllocator.m3 --- src/runtime/common/RTAllocator.m3 8 Sep 2009 16:41:37 -0000 1.32 +++ src/runtime/common/RTAllocator.m3 13 Sep 2009 13:27:35 -0000 @@ -14,7 +14,7 @@ UNSAFE MODULE RTAllocator EXPORTS RTAllocator, RTAllocCnts, RTHooks, RTHeapRep; -IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadUnsafe; +IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadInternal; IMPORT RuntimeError AS RTE, Word; FROM RTType IMPORT Typecode; @@ -71,7 +71,7 @@ VAR hdr: RefHeader; def: RT0.TypeDefn; dataSize: CARDINAL; res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF (ref = NIL) THEN RETURN NIL; END; IF Word.And(LOOPHOLE(ref, Word.T), 1) # 0 THEN RETURN ref; END; @@ -192,7 +192,7 @@ PROCEDURE GetTracedRef (def: RT0.TypeDefn): REFANY = VAR res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Ref) THEN RTE.Raise(RTE.T.ValueOutOfRange); @@ -214,7 +214,7 @@ PROCEDURE GetTracedObj (def: RT0.TypeDefn): ROOT = VAR res: ADDRESS; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Obj) THEN RTE.Raise(RTE.T.ValueOutOfRange); @@ -283,7 +283,7 @@ VAR res: ADDRESS; dataSize: CARDINAL; - thread := ThreadUnsafe.MyHeapState(); + thread := ThreadInternal.MyHeapState(); BEGIN IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Array) THEN RTE.Raise(RTE.T.ValueOutOfRange); Index: src/runtime/common/RTCollector.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTCollector.m3,v retrieving revision 1.69 diff -u -w -r1.69 RTCollector.m3 --- src/runtime/common/RTCollector.m3 13 Sep 2009 04:57:33 -0000 1.69 +++ src/runtime/common/RTCollector.m3 13 Sep 2009 13:27:35 -0000 @@ -16,7 +16,7 @@ IMPORT RT0, RTHeapEvent, RTHeapMap, RTIO, RTMachine; IMPORT RTMisc, RTOS, RTParams, RTPerfTool, RTProcess, RTType; -IMPORT Word, Thread, ThreadF, RuntimeError; +IMPORT Word, Thread, ThreadInternal, RuntimeError; IMPORT TextLiteral AS TextLit, RTLinker, Time; FROM RT0 IMPORT Typecode, TypeDefn; @@ -732,7 +732,7 @@ PROCEDURE CollectSomeInStateZero () = BEGIN - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); <* ASSERT disableCount + disableMotionCount = 0 *> (* compute some costs relative to previous collection *) @@ -806,7 +806,7 @@ pages, because we want to make sure that old, impure, dirty pages referenced by threads are marked as ambiguous roots. Otherwise, these pages won't get cleaned before we return. *) - ThreadF.ProcessStacks(NoteStackLocations); + ThreadInternal.ProcessStacks(NoteStackLocations); (* Now, nothing in previous space is referenced by a thread. *) (* Promote any remaining "old" pages and unprotect everything else *) @@ -886,7 +886,7 @@ collectorState := CollectorState.One; IF backgroundWaiting THEN signalBackground := TRUE; END; - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); END CollectSomeInStateZero; (* Clean gray nodes *) @@ -1615,9 +1615,9 @@ PROCEDURE After (self: MonitorClosure) = BEGIN - ThreadF.SuspendOthers(); + ThreadInternal.SuspendOthers(); SanityCheck (self); - ThreadF.ResumeOthers(); + ThreadInternal.ResumeOthers(); END After; PROCEDURE SanityCheck (<*UNUSED*> self: MonitorClosure) = @@ -1790,7 +1790,7 @@ BEGIN TRY Disable(); - ThreadF.SuspendOthers(); + ThreadInternal.SuspendOthers(); FOR p := p0 TO p1 - 1 DO IF desc[p - p0] = 0 THEN WITH page = PageToRef(p), d = page.desc DO @@ -1813,7 +1813,7 @@ END; END; FINALLY - ThreadF.ResumeOthers(); + ThreadInternal.ResumeOthers(); Enable(); END; END VisitAllRefs; Index: src/runtime/common/RTHeapStats.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTHeapStats.m3,v retrieving revision 1.6 diff -u -w -r1.6 RTHeapStats.m3 --- src/runtime/common/RTHeapStats.m3 8 Sep 2009 05:54:55 -0000 1.6 +++ src/runtime/common/RTHeapStats.m3 13 Sep 2009 13:27:35 -0000 @@ -5,7 +5,7 @@ (* Last modified on Fri May 5 08:22:31 PDT 1995 by kalsow *) (* The code below makes the following NASTY assumption: - ThreadF.ProcessStacks calls its argument twice for + ThreadInternal.ProcessStacks calls its argument twice for each thread -- the first time for the stack, the second time for its registers. *) @@ -13,7 +13,7 @@ IMPORT RT0, RTCollector, RTModule, RTIO, RTHeapMap, RTHeapRep, RTMisc; IMPORT RTOS, RTType, RTTypeSRC, RTProcedure, RTProcedureSRC, RTMachine; -IMPORT RTStack, ThreadF, Word, Text; +IMPORT RTStack, ThreadInternal, Word, Text; FROM RTIO IMPORT PutInt, PutAddr, PutText; TYPE @@ -96,7 +96,7 @@ (* freeze the world *) RTCollector.Disable (); RTOS.LockHeap (); (* freeze the heap *) - ThreadF.SuspendOthers (); + ThreadInternal.SuspendOthers (); (* capture the heap limits *) heap_min := LOOPHOLE (RTHeapRep.p0 * RTHeapRep.BytesPerPage, ADDRESS); @@ -146,7 +146,7 @@ (* thaw the world *) DISPOSE (visit_stack); DISPOSE (map); - ThreadF.ResumeOthers (); + ThreadInternal.ResumeOthers (); RTOS.UnlockHeap (); (* unfreeze the heap *) RTCollector.Enable (); END ReportReachable; @@ -282,7 +282,7 @@ BEGIN self_id := -1; mark_addr := ADR (i); - ThreadF.ProcessStacks (GetThread); + ThreadInternal.ProcessStacks (GetThread); RTIO.PutText ("Threads: "); RTIO.PutInt (n_threads); IF (n_threads > NUMBER (threads)) THEN Index: src/runtime/common/RTLinker.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinker.m3,v retrieving revision 1.15 diff -u -w -r1.15 RTLinker.m3 --- src/runtime/common/RTLinker.m3 8 Sep 2009 05:54:55 -0000 1.15 +++ src/runtime/common/RTLinker.m3 13 Sep 2009 13:27:36 -0000 @@ -12,7 +12,7 @@ IMPORT Cstdlib, Cstring; IMPORT RT0, RTParams, RTDebug, RTHeapRep, RTCollectorSRC; -IMPORT RTTypeSRC, RTSignal, ThreadF, RTHeapInfo, RTLinkerX, +IMPORT RTTypeSRC, RTSignal, ThreadInternal, RTHeapInfo, RTLinkerX, RTIO, Word; VAR @@ -46,7 +46,7 @@ AddUnit (RTLinkerX.RTDebug_I3); AddUnit (RTLinkerX.RTError_I3); AddUnit (RTLinkerX.RTHeapRep_I3); - AddUnit (RTLinkerX.ThreadF_I3); + AddUnit (RTLinkerX.ThreadInternal_I3); AddUnit (RTLinkerX.RTHeapInfo_I3); AddUnit (RTLinkerX.RTIO_I3); AddUnit (RTLinkerX.RTCollectorSRC_I3); @@ -55,7 +55,7 @@ (* finally, initialize the runtime. *) RTSignal.InstallHandlers (); RTParams.Init (); - ThreadF.Init (); + ThreadInternal.Init (); RTHeapRep.Init (); RTDebug.Init (); RTHeapInfo.Init (); Index: src/runtime/common/RTLinkerX.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinkerX.i3,v retrieving revision 1.7 diff -u -w -r1.7 RTLinkerX.i3 --- src/runtime/common/RTLinkerX.i3 7 Apr 2008 17:58:30 -0000 1.7 +++ src/runtime/common/RTLinkerX.i3 13 Sep 2009 13:27:36 -0000 @@ -46,7 +46,7 @@ <*EXTERNAL*> PROCEDURE RTTypeSRC_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTWeakRef_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTutils_I3 (mode: INTEGER): RT0.ModulePtr; -<*EXTERNAL*> PROCEDURE ThreadF_I3 (mode: INTEGER): RT0.ModulePtr; +<*EXTERNAL*> PROCEDURE ThreadInternal_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE Word_I3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RT0_M3 (mode: INTEGER): RT0.ModulePtr; <*EXTERNAL*> PROCEDURE RTAllocStats_M3 (mode: INTEGER): RT0.ModulePtr; Index: src/runtime/ex_frame/RTExFrame.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3,v retrieving revision 1.5 diff -u -w -r1.5 RTExFrame.m3 --- src/runtime/ex_frame/RTExFrame.m3 8 Sep 2009 05:54:56 -0000 1.5 +++ src/runtime/ex_frame/RTExFrame.m3 13 Sep 2009 13:27:36 -0000 @@ -4,7 +4,7 @@ UNSAFE MODULE RTExFrame EXPORTS RTException, RTExFrame; -IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadF; +IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadInternal; IMPORT Thread, Csetjmp; VAR @@ -16,7 +16,7 @@ PROCEDURE Raise (VAR act: RT0.RaiseActivation) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -67,7 +67,7 @@ PROCEDURE ResumeRaise (VAR a: RT0.RaiseActivation) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -99,7 +99,7 @@ BadStack (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) f := f.next; (* try the previous frame *) END; END ResumeRaise; @@ -114,7 +114,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) p.info := a; (* copy the exception to the new frame *) Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *) RAISE OUCH; @@ -138,7 +138,7 @@ cl.proc := p.handler; cl.frame := p.frame; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) CallProc (LOOPHOLE (ADR (cl), FinallyProc), a); END InvokeFinallyHandler; @@ -159,7 +159,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) Thread.Release (p.mutex); (* and release the lock *) END ReleaseLock; @@ -173,7 +173,7 @@ PROCEDURE SanityCheck () = CONST Min_SK = ORD (FIRST (ScopeKind)); CONST Max_SK = ORD (LAST (ScopeKind)); - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); VAR i: INTEGER; BEGIN WHILE (f # NIL) DO @@ -184,7 +184,7 @@ END SanityCheck; PROCEDURE DumpStack () = - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); BEGIN IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END; Index: src/runtime/ex_frame/RTException.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTException.m3,v retrieving revision 1.1.1.1 diff -u -w -r1.1.1.1 RTException.m3 --- src/runtime/ex_frame/RTException.m3 24 Jan 2001 12:24:27 -0000 1.1.1.1 +++ src/runtime/ex_frame/RTException.m3 13 Sep 2009 13:27:36 -0000 @@ -8,7 +8,7 @@ UNSAFE MODULE RTException EXPORTS RTException, RTExRep; IMPORT RT0, RTMisc, RTIO, RTParams, RTOS; -IMPORT Thread, ThreadF, M3toC, Ctypes, Csetjmp; +IMPORT Thread, ThreadInternal, M3toC, Ctypes, Csetjmp; VAR DEBUG := FALSE; @@ -22,7 +22,7 @@ PROCEDURE Raise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -69,7 +69,7 @@ PROCEDURE ResumeRaise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY = VAR - f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); ex: ExceptionList; BEGIN IF DEBUG THEN @@ -101,7 +101,7 @@ BadStack (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) f := f.next; (* try the previous frame *) END; END ResumeRaise; @@ -117,7 +117,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) p.exception := en; (* record the exception *) p.arg := arg; (* and it argument *) Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *) @@ -143,7 +143,7 @@ cl.proc := p.handler; cl.frame := p.frame; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) CallProc (LOOPHOLE (ADR (cl), FinallyProc)); END InvokeFinallyHandler; @@ -164,7 +164,7 @@ RTIO.PutText ("\n"); RTIO.Flush (); END; - ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *) + ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *) Thread.Release (p.mutex); (* and release the lock *) END ReleaseLock; @@ -188,7 +188,7 @@ PROCEDURE SanityCheck () = CONST Min_SK = ORD (FIRST (ScopeKind)); CONST Max_SK = ORD (LAST (ScopeKind)); - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); VAR i: INTEGER; BEGIN WHILE (f # NIL) DO @@ -199,7 +199,7 @@ END SanityCheck; PROCEDURE DumpStack () = - VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame); + VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame); BEGIN IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END; Index: src/thread/Common/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/Common/m3makefile,v retrieving revision 1.7 diff -u -w -r1.7 m3makefile --- src/thread/Common/m3makefile 8 Sep 2009 16:41:37 -0000 1.7 +++ src/thread/Common/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -8,10 +8,11 @@ % modified on Tue Feb 11 15:07:32 PST 1992 by muller Interface ("Thread") +Interface ("ThreadF") Interface ("Scheduler") if equal (OS_TYPE, "POSIX") Interface ("SchedulerPosix") end Interface ("MutexRep") Interface ("ThreadEvent") -interface ("ThreadUnsafe") +interface ("ThreadInternal") Index: src/thread/POSIX/ThreadPosix.i3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.i3,v retrieving revision 1.7 diff -u -w -r1.7 ThreadPosix.i3 --- src/thread/POSIX/ThreadPosix.i3 29 Jun 2009 19:20:47 -0000 1.7 +++ src/thread/POSIX/ThreadPosix.i3 13 Sep 2009 13:27:36 -0000 @@ -20,7 +20,7 @@ <*EXTERNAL ThreadPosix__InitC*> PROCEDURE InitC(); -(* There is already ThreadF.Init exported by the same module that exports this +(* There is already ThreadInternal.Init exported by the same module that exports this interface, so we chose an arbitrary different name here. *) END ThreadPosix. Index: src/thread/POSIX/ThreadPosix.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v retrieving revision 1.45 diff -u -w -r1.45 ThreadPosix.m3 --- src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:08:00 -0000 1.45 +++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:27:36 -0000 @@ -10,7 +10,7 @@ (*| modified On Mon Apr 5 14:51:30 PDT 1993 by muller *) (*| modified on Mon Feb 22 10:08:49 PST 1993 by jdd *) -UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadUnsafe, +UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadInternal, Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPosix; IMPORT Cerrno, Cstring, FloatMode, MutexRep, RTHeapRep, RTCollectorSRC, @@ -1461,7 +1461,7 @@ perfOn := RTPerfTool.Send (perfW, ADR (e), EventSize); END PerfRunning; -(*--------------------------------------------------------- ThreadF hooks ---*) +(*--------------------------------------------------------- ThreadInternal hooks ---*) VAR hooks: Hooks := NIL; @@ -1485,6 +1485,8 @@ RETURN oldHooks; END RegisterHooks; +(*--------------------------------------------------------- ThreadF ---*) + PROCEDURE MyId(): Id RAISES {}= BEGIN RETURN self.id; Index: src/thread/POSIX/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/m3makefile,v retrieving revision 1.6 diff -u -w -r1.6 m3makefile --- src/thread/POSIX/m3makefile 22 Mar 2009 09:43:13 -0000 1.6 +++ src/thread/POSIX/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -7,7 +7,6 @@ % modified on Tue May 4 10:18:56 PDT 1993 by mjordan % modified on Tue Feb 11 15:07:32 PST 1992 by muller -Interface ("ThreadF") module ("ThreadPosix") c_source ("ThreadPosixC") h_source ("ThreadPosix") Index: src/thread/PTHREAD/ThreadPThread.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v retrieving revision 1.139 diff -u -w -r1.139 ThreadPThread.m3 --- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:08:01 -0000 1.139 +++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:27:36 -0000 @@ -2,7 +2,7 @@ (* All rights reserved. *) (* See the file COPYRIGHT-PURDUE for a full description. *) -UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadUnsafe, +UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadInternal, Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPThread; IMPORT Cerrno, FloatMode, MutexRep, @@ -1316,7 +1316,6 @@ VAR perfW : RTPerfTool.Handle; - perfOn: BOOLEAN := FALSE; (* LL = perfMu *) PROCEDURE PerfStart () = BEGIN Index: src/thread/PTHREAD/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/m3makefile,v retrieving revision 1.13 diff -u -w -r1.13 m3makefile --- src/thread/PTHREAD/m3makefile 29 Apr 2009 21:01:14 -0000 1.13 +++ src/thread/PTHREAD/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -7,6 +7,5 @@ % modified on Tue May 4 10:18:56 PDT 1993 by mjordan % modified on Tue Feb 11 15:07:32 PST 1992 by muller -Interface ("ThreadF") module ("ThreadPThread") c_source ("ThreadPThreadC") Index: src/thread/WIN32/m3makefile =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/m3makefile,v retrieving revision 1.13 diff -u -w -r1.13 m3makefile --- src/thread/WIN32/m3makefile 21 Apr 2009 11:02:11 -0000 1.13 +++ src/thread/WIN32/m3makefile 13 Sep 2009 13:27:36 -0000 @@ -2,7 +2,6 @@ % All rights reserved. % See the file COPYRIGHT for a full description. -Interface ("ThreadF") Interface ("ThreadContext") module ("ThreadWin32") interface("ThreadInternal") > Date: Sun, 13 Sep 2009 15:36:43 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/13 15:36:43 > > Modified files: > cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 > cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 > cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 > cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 > cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 > cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 > RTCollector.m3 > RTHeapStats.m3 > RTLinker.m3 RTLinkerX.i3 > cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 > RTException.m3 > cm3/m3-libs/m3core/src/thread/Common/: m3makefile > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 > ThreadPosix.m3 m3makefile > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > m3makefile > cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile > Added files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 > ThreadInternal.i3 > Removed files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 > > Log message: > move ThreadUnsafe.i3 to ThreadInternal.i3 > move most of ThreadF.i3 to ThreadInternal.i3 > ThreadF is safe and public, and small. > ThreadInternal is not safe nor public. > As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy. > Three ThreadF.i3s replaced by one. > A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3. > ThreadF.i3 is entirely shared. > ThreadInternal.i3 exposes a little extra that is present in all three but only > needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads). > > (deletes deferred because of CVS wierdness) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Sep 13 18:57:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 18:57:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913165718.99B36CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 18:57:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Unix.common Log message: newer Sun cc says: cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead cc: Warning: -xarch=v9 is deprecated, use -m64 to create 64-bit programs probe at first use of cc (or ld since it is cc) for the warning and use the new form if it is found In general introduce hooks: configure_assembler() configure_c_compiler() configure_linker() That are called before uses of SYSTEM_ASM, SYSTEM_CC, SYSTEM_LD. configure_assembler was already in use for I386_DARWIN. Even if folks really object to running this stuff as often as it is done, the configure code can probably be used asis (say, at install time) and the results recorded. Personally I don't observe this stuff to be slow and it leaves the system more flexible -- no need to reinstall/reconfigure Modula-3 if in fact this other stuff can be changed after it is installed. From jkrell at elego.de Sun Sep 13 19:13:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:13:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913171342.B5FD0CC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:13:42 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c m3unix.h Log message: Newer Sun headers also: typedef struct timespec timespec_t; leading to us getting: "../src/unix/Common/m3unix.h", line 83: warning: typedef redeclared: timespec_t so use timespec_T instead, lame, I know. From jkrell at elego.de Sun Sep 13 19:31:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:31:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913173130.82B33CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:31:30 Added files: cm3/scripts/examples/: make-formsedit.sh Log message: initial copy from make-juno.sh From jkrell at elego.de Sun Sep 13 19:35:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 19:35:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913173534.A47BA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 19:35:34 Modified files: cm3/scripts/examples/: make-formsedit.sh Log message: initial guess, might need to put back tools/tk/scanner/parser/bundle From jkrell at elego.de Sun Sep 13 20:28:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 20:28:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913182824.ABD96CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 20:28:24 Modified files: cm3/scripts/examples/: make-compiler.sh Log message: omit mklib, remove tabs, let caller specify target From jkrell at elego.de Sun Sep 13 20:29:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 20:29:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913182929.91F75CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 20:29:29 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollectorSRC.i3 RTCollector.m3 Log message: add do nothing DisableVM for slightly better source compat with old cm3 From hosking at elego.de Sun Sep 13 20:52:06 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 13 Sep 2009 20:52:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913185207.9CCCC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/13 20:52:06 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 ThreadInternal.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: With ThreadInternal now unsafe restore old unsafe way of manipulating float state. Restore ProcessEachStack (we will be using it for non-STW GC at some point). From jkrell at elego.de Sun Sep 13 21:57:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 21:57:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913195704.7F6082474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 21:57:04 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: path adjustments for msi building, not quite right but might suffice; try to diagnose a strange printout From jkrell at elego.de Sun Sep 13 22:47:26 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 22:47:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913204726.D9B862474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 22:47:26 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: replace /dev/null with os.devnull; this should stop us from creating the file nul that causes the makedist task to fail in strange ways, unless I cleanup the workspace between runs From jkrell at elego.de Sun Sep 13 22:48:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 13 Sep 2009 22:48:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090913204827.2B3102474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/13 22:48:27 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: (more working around that elego uses cygwin Python but I use Win32 Python) From jkrell at elego.de Mon Sep 14 02:38:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 2:38:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914003834.BEF182474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 02:38:34 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: for msi building, hack out executable code from global scope, maybe can structure better later From jkrell at elego.de Mon Sep 14 08:52:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 8:52:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914065216.6433FCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 08:52:16 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: paths written into .wxs file need to be Win3 paths (again, elego Python is Cygwin..mine is not) From jkrell at elego.de Mon Sep 14 10:44:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 10:44:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914084420.BD1492474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 10:44:20 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: further accounting for Cygwin python -- double up slashes on command line; and I think print the wierd printout by redirecting stderr to stdout (wierd because it isn't ordered as expected, ok) From jkrell at elego.de Mon Sep 14 10:51:57 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 10:51:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914085158.AE5C72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 10:51:57 Modified files: cm3/m3-sys/m3cc/src/: gnucc.common Log message: independent reimplementation of the SOLgnu/SOLsun equivalence, because I was out of date, no real change From jkrell at elego.de Mon Sep 14 11:03:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 14 Sep 2009 11:03:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914090356.B6B832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/14 11:03:55 Modified files: cm3/scripts/python/: pylib.py Log message: copy from release From hosking at elego.de Mon Sep 14 23:52:21 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 14 Sep 2009 23:52:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090914215222.391D6CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/14 23:52:21 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 ThreadWin32.m3 Log message: Slight reorg. Tidy up ThreadPosix implementation some. Put back ProcessEachStack (we'll be using it for non-STW GC). From jay.krell at cornell.edu Tue Sep 15 02:20:53 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 15 Sep 2009 00:20:53 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090914215222.391D6CC806@birch.elegosoft.com> References: <20090914215222.391D6CC806@birch.elegosoft.com> Message-ID: Is that legal in ThreadWin32.m3? I didn't realize. Otherwise, I presume it can go in ThreadWin32.i3. Also presumably some ProcessEachStack is needed in ThreadWin32.m3. - Jay ---------------------------------------- > Date: Mon, 14 Sep 2009 23:52:21 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/14 23:52:21 > > Modified files: > cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 > ThreadWin32.m3 > > Log message: > Slight reorg. > Tidy up ThreadPosix implementation some. > Put back ProcessEachStack (we'll be using it for non-STW GC). > From hosking at elego.de Tue Sep 15 04:07:03 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 4:07:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915020704.916C62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 04:07:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 Log message: Oops, put this in the wrong place. From hosking at elego.de Tue Sep 15 04:07:44 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 4:07:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915020744.684AF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 04:07:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Oops, put this in the wrong place. From hosking at elego.de Tue Sep 15 21:47:44 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 15 Sep 2009 21:47:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090915194744.E21CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 21:47:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Merge/revert back to last known good ThreadWin32. Jay, give this one a try. From jay.krell at cornell.edu Wed Sep 16 01:38:56 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Tue, 15 Sep 2009 16:38:56 -0700 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090915194744.E21CC2474001@birch.elegosoft.com> References: <20090915194744.E21CC2474001@birch.elegosoft.com> Message-ID: <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> To state the obvious: there was some point to the changes, maybe some necessary accomodation of changed callers??, so I didn't want to just go back. But you do know better. I will try later. Stil hunting formsedit problem too. - Jay (phone) On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/09/15 21:47:44 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Merge/revert back to last known good ThreadWin32. > Jay, give this one a try. > > From hosking at cs.purdue.edu Wed Sep 16 02:03:56 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 15 Sep 2009 20:03:56 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> References: <20090915194744.E21CC2474001@birch.elegosoft.com> <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> Message-ID: <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> I didn't revert. I undid changes I had made at that time, but retained yours. On 15 Sep 2009, at 19:38, jay.krell at cornell.edu wrote: > To state the obvious: there was some point to the changes, maybe > some necessary accomodation of changed callers??, so I didn't want > to just go back. But you do know better. > I will try later. Stil hunting formsedit problem too. > > - Jay (phone) > > On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: > >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/09/15 21:47:44 >> >> Modified files: >> cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 >> >> Log message: >> Merge/revert back to last known good ThreadWin32. >> Jay, give this one a try. >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Sep 16 04:48:49 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 16 Sep 2009 02:48:49 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> References: <20090915194744.E21CC2474001@birch.elegosoft.com> <3DBFCED7-1487-4658-B2E6-D02EFCEAA4B9@hotmail.com> <4AB22370-FC81-4C74-8BD2-FA6A350C6B3E@cs.purdue.edu> Message-ID: Tony I meant your changes, sorry for unclarity. - Jay From: hosking at cs.purdue.edu To: jay.krell at cornell.edu Date: Tue, 15 Sep 2009 20:03:56 -0400 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I didn't revert. I undid changes I had made at that time, but retained yours. On 15 Sep 2009, at 19:38, jay.krell at cornell.edu wrote: To state the obvious: there was some point to the changes, maybe some necessary accomodation of changed callers??, so I didn't want to just go back. But you do know better. I will try later. Stil hunting formsedit problem too. - Jay (phone) On Sep 15, 2009, at 9:47 PM, hosking at elego.de (Antony Hosking) wrote: CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/15 21:47:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Merge/revert back to last known good ThreadWin32. Jay, give this one a try. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Wed Sep 16 15:32:20 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 16 Sep 2009 15:32:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090916133220.57FE92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/16 15:32:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Oops. Forgot that the changes at that time were due to change in expectation that WaitHeap now must occur inside LockHeap/UnlockHeap. It must release the critical section. Jay, have a try with this. From hosking at elego.de Wed Sep 16 15:51:45 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 16 Sep 2009 15:51:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090916135146.74EE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/16 15:51:45 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Resolve a longstanding issue with out of memory occuring while in the middle of GC. The approach is simply to promote the page containing the object we are trying to copy. This has a benign effect, and may permit the GC to finish safely. Mutators will still receive OOM exceptions if they cannot allocate, at which point they may choose to release some (presumably cached) references before trying the allocation again. From hosking at elego.de Thu Sep 17 22:51:54 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 17 Sep 2009 22:51:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090917205155.15CABCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/17 22:51:54 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: RuntimeError is now unused. From jkrell at elego.de Sat Sep 19 20:26:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 19 Sep 2009 20:26:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919182659.3B7A62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/19 20:26:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Usocket.c Usocket.i3 cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/interix-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/openbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: sysdep reduction: struct linger is identical on all platforms except Cygwin (where it doesn't appear to be Posix-conforming) Posix says the fields are int, but Cygwin uses unsigned short. assert this (in UnixC.c) use a copying wrapper on Cygwin (Usocket.c) remove platform specific code, except for Cygwin (#ifdef a few lines instead of duplicating stuff for every platform) From jkrell at elego.de Sun Sep 20 01:35:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:35:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233505.143FBCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:35:04 Added files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile.old Log message: copy of m3makefile From jkrell at elego.de Sun Sep 20 01:36:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:36:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233604.73E6FCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:36:04 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile Log message: remove old targets From jkrell at elego.de Sun Sep 20 01:39:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:39:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919233944.3004DCC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:39:44 Added files: cm3/m3-libs/m3core/src/time/POSIX/: DateLinux.m3.old Removed files: cm3/m3-libs/m3core/src/time/POSIX/: DateLinux.m3 Log message: make it clearer that this is not used, Linux is now BSD From jkrell at elego.de Sun Sep 20 01:53:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 1:53:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090919235354.A2D5F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 01:53:54 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile cm3/m3-libs/m3core/src/: m3makefile Added files: cm3/m3-libs/m3core/src/: platforms.quake Log message: a step toward using TARGET_OS which current config files define, but still compatible with older systems, I guess until the current release occurs From jkrell at elego.de Sun Sep 20 02:26:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:26:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920002628.2C858CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:26:28 Modified files: cm3/m3-libs/libm3/src/: m3makefile cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Added files: cm3/m3-libs/libm3/src/: platforms.quake Log message: a step toward using TARGET_OS and TARGET_ARCH which current config files define, but still compatible with older systems, I guess until the current release occurs From jkrell at elego.de Sun Sep 20 02:27:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:27:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920002732.B7CE6CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:27:32 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: comment only From jkrell at elego.de Sun Sep 20 02:41:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 2:41:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920004115.55259CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 02:41:15 Modified files: cm3/m3-libs/m3core/src/: platforms.quake cm3/m3-libs/m3core/src/Csupport/: m3makefile Log message: closer to requiring TARGET_ENDIAN, but again, still compatible This probably breaks tests, will visit shortly. From jkrell at elego.de Sun Sep 20 03:50:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 3:50:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920015033.091BE2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 03:50:32 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-util.c Log message: Very likely remove some porting work: enum m3_target_typ m3_target_pure ( char * name ) { if (strstr(name, "NT386")) { return TARGET_NT386; } /* This is crude but very likely to always be correct. There is a 32bit mode on HP-UX/IA64 and ALPHA_NT is 32bit, but these are hypothetical and unlikely to materialize and could have "32" put in their names, and ALPHA_NT would unlikely support m3gdb. */ if (strstr(name, "32")) { return TARGET_OTHER; } if (strstr(name, "ALPHA")) { return TARGET_64; } if (strstr(name, "64" )) { return TARGET_64; } /* FIXME: Positively check for all M3 compiler target names, or at least all those in m3middle/src/Target.m3 that cause a call on Init64. */ return TARGET_OTHER; } /* m3_target_pure */ where before it was checking for very specific 64bit targets with strcmp. From jkrell at elego.de Sun Sep 20 04:17:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:17:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920021728.760612474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:17:27 Added files: cm3/doc/notes/: porting.txt Log message: initial version, I think too much information and too verbose maybe From jkrell at elego.de Sun Sep 20 04:18:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:18:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920021814.7B05F2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:18:14 Modified files: cm3/doc/notes/: porting.txt Log message: remove confusing qualifier From jkrell at elego.de Sun Sep 20 04:21:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:21:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920022120.816EACC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:21:20 Modified files: cm3/doc/notes/: porting.txt Log message: small edits From jkrell at elego.de Sun Sep 20 04:22:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:22:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920022300.40151CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:22:59 Modified files: cm3/doc/notes/: porting.txt Log message: small edits From jkrell at elego.de Sun Sep 20 04:56:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 4:56:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920025622.463322474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 04:56:21 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile Log message: fix it to compile From jkrell at elego.de Sun Sep 20 05:00:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 5:00:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920030021.28EB0CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 05:00:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 Log message: fix to compile From jkrell at elego.de Sun Sep 20 05:06:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 5:06:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920030623.AE40ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 05:06:23 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: Fix it to compile -- remove functions that nobody uses and Win32 doesn't currently implement. From jkrell at elego.de Sun Sep 20 06:02:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:02:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920040233.B1B0ACC7DE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:02:33 Modified files: cm3/scripts/: pkgmap.sh Log message: eliminate more uses of date %+s which are not portable to Solaris and cause expr to issue an error From jkrell at elego.de Sun Sep 20 06:05:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:05:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920040517.A03EB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:05:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: eliminate uses of date %+s which are not portable to Solaris and cause expr to issue an error ('C is more portable than sh.') From jkrell at elego.de Sun Sep 20 06:21:19 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:21:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042119.5B112CC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:21:19 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: better -- look around for a C compiler From jkrell at elego.de Sun Sep 20 06:24:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:24:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042411.70315CC815@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:24:11 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:24:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:24:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042429.F0775CC815@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:24:29 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:25:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:25:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042524.88DFBCC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:25:24 Modified files: cm3/scripts/: pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:26:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:26:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042657.9BB02CC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:26:57 Modified files: cm3/scripts/: pkgmap.sh Log message: better -- look around for a C compiler From jkrell at elego.de Sun Sep 20 06:27:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:27:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042737.AF4D62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:27:37 Modified files: cm3/scripts/: pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:28:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:28:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920042802.4FCCD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:28:01 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: cleanup From jkrell at elego.de Sun Sep 20 06:40:31 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:40:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044031.D51A1CC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:40:31 Modified files: cm3/m3-libs/m3core/src/float/: m3makefile Log message: use TARGET_ENDIAN for the defaulting actually sort of fix the interaction with m3-sys/m3tests that wasn't really implemented correctly in the first place, but it was good enough given that every target uses the default (we should look into improving this before much longer) From jkrell at elego.de Sun Sep 20 06:41:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:41:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044124.9C6ABCC816@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:41:24 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: remove warning that I just introduced (comment out FloatMode, until MyFPState is used by anyone) From jkrell at elego.de Sun Sep 20 06:45:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 6:45:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920044538.13CEE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 06:45:37 Modified files: cm3/doc/notes/: porting.txt Log message: some small edits as to criticalness/optionality of some stuff From jkrell at elego.de Sun Sep 20 09:42:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:42:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074206.47215CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:42:06 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c Log message: remove settimeofday we never use it and the wrappers are about to get a little thicker for portability From jkrell at elego.de Sun Sep 20 09:44:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:44:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074416.A9191CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:44:16 Modified files: cm3/m3-tools/cvsup/suplib/src/: FileAttr.m3 Log message: accept default for the second parameter to gettimeofday, so I can remove it From jkrell at elego.de Sun Sep 20 09:46:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 9:46:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920074601.87774CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 09:46:01 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c Log message: second parameter to gettimeofday always NULL From jkrell at elego.de Sun Sep 20 22:55:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 22:55:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920205504.7CAE2CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 22:55:04 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Usocket.c Usocket.i3 Utime.i3 UtimeC.c Utypes.i3 m3unix.h cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/interix-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/openbsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: Usysdep reduction idealize time_t as INTEGER actually I'd like to make it LONGINT So far I haven't seen a 32bit Posix system with a 64bit time_t. I think I've seen even 64bit Posix with 32bit time_t! 32bit Cygwin is threatening to go that way. Windows already is this way by default. They really all should. LONGINT might be source incompatible so holding off on that. and then all the related structs -- timespec, timeval, itimerval This involves "copying wrappers". And since the conversion functions are static in UtimeC.c, move select and utimes wrappers to there. split up Unix__Assertions into Unix__Assertions, Usocket__Assertions, Utime__Assertions We assert that struct linger can be passed through, except on Cygwin and that timespec, timeval, itimerval are all as we expect We will probably soon be using much less of all this code but we can maybe leave it for some compatibility. From jkrell at elego.de Sun Sep 20 23:07:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:07:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920210706.CFA4D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:07:06 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: remove errant but ok character in comment From jkrell at elego.de Sun Sep 20 23:08:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:08:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920210851.D11C4CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:08:51 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: fix syntax error on Cygwin From jkrell at elego.de Sun Sep 20 23:10:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:10:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211018.05C76CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:10:17 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uin.c Log message: #include arpa/inet.h to get prototypes for hton etc. From jkrell at elego.de Sun Sep 20 23:14:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:14:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211442.2A47FCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:14:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: quash warning about mixing signed/unsigned From jkrell at elego.de Sun Sep 20 23:17:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:17:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920211703.0357BCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:17:02 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Usocket.c Log message: fix comment slightly From jkrell at elego.de Sun Sep 20 23:25:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:25:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212528.4339CCC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:25:28 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: remove tabs, fix strange hang on Cygwin, avoid strange result of 0 on Cygwin, fix conversion warning; this code isn't currently used but might be at some time? From jkrell at elego.de Sun Sep 20 23:25:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:25:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212553.945E9CC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:25:53 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: fix small typo in comment From jkrell at elego.de Sun Sep 20 23:27:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:27:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920212757.4E00ACC803@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:27:57 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: TimePosixC.c Log message: better ANSI prototypes for functions that take no parameters From jkrell at elego.de Sun Sep 20 23:56:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 20 Sep 2009 23:56:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920215658.60860CC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/20 23:56:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: For HP-UX, Interix, Cygwin, define altzone to be timezone - 3600, like Python does. From jkrell at elego.de Mon Sep 21 00:11:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:11:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920221106.0964FCC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:11:05 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: DateBsd.m3 Log message: missing a lock mu around use localtime, probably only affects user threads and just wastes time on pthreads, where presumably localtime is already using a thread local (just like it is waste elsewhere in this file for pthreads) From jkrell at elego.de Mon Sep 21 00:30:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:30:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920223021.23588CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:30:21 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: DatePosix.m3 Log message: reentrance here is far from clear, so serialize From jkrell at elego.de Mon Sep 21 00:32:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 0:32:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920223248.68465CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 00:32:48 Added files: cm3/m3-libs/m3core/src/unix/Common/: UtimeInternal.i3 Log message: initial copy from Utime.i3; the way struct tm varies makes a lot of this stuff only useful to code that does different things on different platforms, as in m3core/src/time/POSIX From jkrell at elego.de Mon Sep 21 01:45:31 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:45:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234531.840212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:45:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Utime.i3 UtimeC.c UtimeInternal.i3 m3unix.h Log message: remove ctime_r, not used, sort of not portable From jkrell at elego.de Mon Sep 21 01:46:36 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:46:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234636.F0B1B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:46:36 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeInternal.i3 Log message: work in progress: prune this way down From jkrell at elego.de Mon Sep 21 01:48:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:48:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234825.BA5592474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:48:25 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uexec.i3 Unix.i3 Uprocess.i3 Upwd.i3 Usched.i3 Usignal.i3 Utime.i3 UtimeInternal.i3 Uugid.i3 Uuio.i3 Log message: remove EXTERNAL pragma from INTERFACE it didn't act consistently seemingly and we ended up marking all the functions/variables anyway From jkrell at elego.de Mon Sep 21 01:49:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 1:49:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090920234959.CDDEB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 01:49:59 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Unix.i3 Log message: add a missing EXTERNAL pragma (but I don't think we use this function anyway) From jkrell at elego.de Mon Sep 21 10:29:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 10:29:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921082903.53B6ACC806@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 10:29:03 Added files: cm3/m3-libs/m3core/src/time/POSIX/: DatePosixC.c Log message: initial rewrite of much of DatePosix.m3 and DateBsd.m3 in C this probably will be used it will contain all of our use of struct tm, and then struct tm can disappear from Utime.m3 (well, ok, mktime is ok, but gmtime and localtime are not so much) From jkrell at elego.de Mon Sep 21 22:03:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:03:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921200359.D7F15CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:03:59 Modified files: cm3/scripts/: sysinfo.sh Log message: fix line endings From jkrell at elego.de Mon Sep 21 22:28:11 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:28:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921202811.F1070CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:28:11 Modified files: cm3/scripts/: pkgmap.sh Log message: fix sh for loop syntax From jkrell at elego.de Mon Sep 21 22:28:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 22:28:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921202845.760EECC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 22:28:45 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: fix sh for loop syntax From jkrell at elego.de Mon Sep 21 23:15:46 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:15:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211547.C27722474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:15:46 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: adjust for Cygwin, and only do this if reporting; maybe one line of awk can do? From jkrell at elego.de Mon Sep 21 23:17:42 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:17:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211742.AB2002474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:17:42 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: merge if blocks From jkrell at elego.de Mon Sep 21 23:19:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:19:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211922.C8F7B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:19:22 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: whitespace From jkrell at elego.de Mon Sep 21 23:19:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 21 Sep 2009 23:19:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090921211945.4A7162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/21 23:19:44 Modified files: cm3/scripts/: pkgmap.sh Log message: merge with release From jkrell at elego.de Tue Sep 22 15:10:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 22 Sep 2009 15:10:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090922131033.C492B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/22 15:10:33 Modified files: cm3/m3-sys/m3cc/src/: Tag: release_branch_cm3_5_8 gnucc.common gnumake.common m3makefile Log message: manually merge most changes (in this directory) from head the main point here is to workaround strange bugs in older releases, such as seen in Hudson on PPC_DARWIN where the env variable is missing There was also the "rewrite" of equating SOLgnu and SOLsun. From hosking at elego.de Wed Sep 23 05:45:02 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 23 Sep 2009 5:45:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923034503.6EC922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/23 05:45:02 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTIO.i3 Log message: Fix comment for PutText. From jkrell at elego.de Wed Sep 23 14:06:32 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 23 Sep 2009 14:06:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923120632.131182474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/23 14:06:32 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkgmap.sh Log message: fix multiple parts of the date +%s replacement putting [] here is wrong use M3DATE=`pwd`/m3date Maybe we can just remove all of this entirely? (Solaris date doesn't support +%s, so we'd remove the uses, not just the this replacement.) From jkrell at elego.de Wed Sep 23 14:08:45 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 23 Sep 2009 14:08:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090923120845.69ECF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/23 14:08:45 Modified files: cm3/scripts/: pkgmap.sh Log message: manually merge from release, the date +%s/m3date fix From wagner at elego.de Thu Sep 24 11:58:07 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 11:58:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924095807.641982474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 11:58:07 Added files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: generic script to perform package tests in Hudson From wagner at elego.de Thu Sep 24 16:25:25 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 16:25:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924142525.C9F692474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 16:25:25 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 pkginfo.txt Log message: change order for two test compilations From wagner at elego.de Thu Sep 24 16:53:07 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 16:53:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924145310.A5358CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 16:53:07 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: fix cleaning From wagner at elego.de Thu Sep 24 18:03:29 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 18:03:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924160329.C1CC22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 18:03:29 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: Add support for Hudson CLEAN variable. Add new test function test_build_system, which first tries a straight forward build of the core system and installs the compiler, and if that fails, tries again using the upgrade.sh script. If I understood correctly, the last step should not be needed anymore with an up-to-date cm3. From wagner at elego.de Thu Sep 24 18:36:12 2009 From: wagner at elego.de (Olaf Wagner) Date: Thu, 24 Sep 2009 18:36:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090924163613.CF602CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/24 18:36:12 Added files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh Log message: first attempt at a generic hudson build script intended to replace the various lastok-build and release-build scripts within Hudson still untested! From hosking at elego.de Fri Sep 25 04:42:13 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 25 Sep 2009 4:42:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090925024213.A37D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/25 04:42:13 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Adr.m3 Cas.m3 CasP.m3 Dec.m3 Dispose.m3 Inc.m3 Loophole.m3 Subarray.m3 cm3/m3-sys/m3front/src/exprs/: CallExpr.i3 CallExpr.m3 CastExpr.m3 DerefExpr.m3 Expr.i3 Expr.m3 ExprRep.i3 KeywordExpr.m3 NamedExpr.m3 QualifyExpr.m3 RecordExpr.m3 SubscriptExpr.m3 VarExpr.m3 cm3/m3-sys/m3front/src/stmts/: AssignStmt.m3 WithStmt.m3 cm3/m3-sys/m3front/src/values/: Formal.m3 Value.i3 Value.m3 ValueRep.i3 Variable.m3 Log message: The generational collector is not concerned with stores of NIL (NULL is untraced) into the heap, so don't generate write barriers for those. From jkrell at elego.de Sun Sep 27 02:24:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:24:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927002430.3F1BBCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:24:29 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:24:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:24:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927002447.D33D02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:24:47 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:33:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:33:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003323.4EF172474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:33:22 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py make-deb.py Log message: .deb creation work in progress; commit it so I don't lose/misplace it again From jkrell at elego.de Sun Sep 27 02:37:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:37:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003712.DF8622474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:37:12 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: upload .deb and add TARGET to .msi name From jkrell at elego.de Sun Sep 27 02:37:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:37:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003753.6B163CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:37:53 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: comment only From jkrell at elego.de Sun Sep 27 02:38:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:38:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927003900.2148B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:38:59 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix .deb extension From jkrell at elego.de Sun Sep 27 02:43:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 2:43:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927004323.775372474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 02:43:23 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: show control file in log From jkrell at elego.de Sun Sep 27 03:15:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 3:15:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927011529.E453F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 03:15:27 Modified files: cm3/m3-sys/cm3/src/: Tag: release_branch_cm3_5_8 Main.m3 Log message: fix warning From jkrell at elego.de Sun Sep 27 10:04:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 10:04:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927080412.9BF49CC367@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 10:04:12 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: fix From jkrell at elego.de Sun Sep 27 11:32:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:32:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927093227.57ACECC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:32:27 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: use correct (existing) Target variable From jkrell at elego.de Sun Sep 27 11:57:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:57:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927095738.9A06ACC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:57:37 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: enable building .deb files, only for Linux targets but there is nothing really Linux specific about them From jkrell at elego.de Sun Sep 27 11:58:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 11:58:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927095817.AC279CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 11:58:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: remove do-nothing false command; what was tat for? From jkrell at elego.de Sun Sep 27 12:00:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 12:00:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927100030.60E92CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 12:00:30 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: just go ahead and make .debs for all targets except NT386 From jkrell at elego.de Sun Sep 27 12:01:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 12:01:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927100106.56713CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 12:01:06 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: enable lzma if possible From jkrell at elego.de Sun Sep 27 14:35:09 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:35:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927123509.DFFD32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:35:09 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Tag: release_branch_cm3_5_8 Main.m3 Log message: COPY from head (assuming no changes in this branch), picking up Tony's fix from Sep 1 2009. From jkrell at elego.de Sun Sep 27 14:39:19 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:39:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927123919.42D542474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:39:19 Modified files: cm3/m3-sys/m3tests/src/p0/p007/: Tag: release_branch_cm3_5_8 stderr.pgm Log message: copy from head From jkrell at elego.de Sun Sep 27 14:47:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:47:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927124717.6F9BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:47:17 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: put back false; the point is to prime the loop condition (which might need more work now with my .msi/.deb upload) From jkrell at elego.de Sun Sep 27 14:53:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:53:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927125327.6C446CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:53:27 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: put in the retry logic for msi/deb too that tgz has From jkrell at elego.de Sun Sep 27 14:59:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 14:59:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927125923.D4D58CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 14:59:23 Modified files: cm3/scripts/: make-dist.sh Log message: highly manual and partial merge from release branch (I haven't see that cvs knows which changes are in which branch, so you can't just have it merge branches nicely; nothing seem to handle branching as well as Perforce..) From jkrell at elego.de Sun Sep 27 15:01:36 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:01:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130137.10C482474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:01:36 Modified files: cm3/scripts/: upgrade.sh Log message: manual merge from release branch (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:03:07 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:03:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130308.043642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:03:07 Modified files: cm3/scripts/: pkgmap.sh Log message: manual partial merge from release branch (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:07:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:07:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130801.821D4CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:07:58 Modified files: cm3/scripts/: make-src-dist-all.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:09:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:09:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927130944.02947CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:09:43 Modified files: cm3/scripts/: make-doc-dist.sh make-src-dist-gnu.sh make-src-dist-std.sh make-src-dist-sys.sh make-src-update.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 15:11:49 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 15:11:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927131149.D1F4ACC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 15:11:49 Modified files: cm3/scripts/: find-packages.sh find-src-dirs.sh list-pkg-dirs.sh make-script-dist.sh sysinfo.sh Log message: manual merge from release branch (find to $FIND, for cygwin support) (does CVS really facilitate this?) From jkrell at elego.de Sun Sep 27 20:41:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:41:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927184151.D52E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:41:51 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh Log message: cleanup after previous failed runs of packaging From jkrell at elego.de Sun Sep 27 20:53:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:53:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927185347.E35F6CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:53:46 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 README Log message: merge from release -- put ./ in front of paths as I found to be apparently needed (on Solaris?) From jkrell at elego.de Sun Sep 27 20:54:13 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 20:54:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927185413.F42192474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 20:54:13 Modified files: cm3/scripts/regression/: README Log message: remove extra newline from end From hosking at elego.de Sun Sep 27 21:05:12 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190513.67321CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:05:12 Modified files: cm3/m3-libs/m3core/src/Csupport/: m3makefile Log message: dos2unix From jkrell at elego.de Sun Sep 27 21:08:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 21:08:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190812.A3EE5CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 21:08:12 Modified files: cm3/scripts/: sysinfo.sh Log message: significant merge from release "rewrite" platform sniffing - change if leaders to switches - drop support for FreeBSD 1-3 (just call them FreeBSD4) - sniff AMD64_DARWIN - consistently allow user to override - very much resembles sysinfo-new.sh, but a little more gradual change but above all, this is a merge from release and /very/ nearly matches it From jkrell at elego.de Sun Sep 27 21:09:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 27 Sep 2009 21:09:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927190944.64D92CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/27 21:09:43 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 sysinfo.sh Log message: very minor merge from head - drop DEC SRC support (M3BUILD, M3SHIP), unused, probably incomplete, only two lines of code deleted here - very minor formating (roughly another two lines edited) From hosking at elego.de Sun Sep 27 21:22:20 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:22:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192222.3569ACC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:22:20 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Implement ProcessEachStack. From hosking at elego.de Sun Sep 27 21:24:40 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:24:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192440.57A37CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:24:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Implement ProcessEachStack (stub: asserts false for now) and MyFPState. From hosking at elego.de Sun Sep 27 21:25:27 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:25:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192528.1D2F8CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:25:27 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: There are implementations of ProcessEachStack and MyFPState on all targets now. From hosking at elego.de Sun Sep 27 21:26:11 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 27 Sep 2009 21:26:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090927192612.3ADC7CC322@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/27 21:26:11 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: IMPORT FloatMode! From hosking at elego.de Mon Sep 28 03:35:18 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 3:35:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928013518.B6B8B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 03:35:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Log message: Add libz to SYSTEM_LIBS. From hosking at elego.de Mon Sep 28 05:33:22 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 5:33:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928033322.F1D43CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 05:33:22 Modified files: cm3/m3-ui/vbtkit/src/lego/POSIX/: ScrollerVBTClass.m3 Log message: Fix crash reported for PPC_DARWIN. Rescreen can be called by other threads while another thread is in the middle of Repaint, and Rescreen may set v.shadow to NIL, which makes Repaint very unhappy. Lock v.mu to prevent unsynchronized access/changes to v.shadow. From hosking at elego.de Mon Sep 28 06:39:09 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 6:39:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928043910.0C1BECC36A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 06:39:09 Modified files: cm3/m3-ui/vbtkit/src/lego/POSIX/: Tag: release_branch_cm3_5_8 ScrollerVBTClass.m3 Log message: Merge from head: fix for formsedit crash reported for PPC_DARWIN, but fix for all POSIX targets. From hosking at elego.de Mon Sep 28 07:15:32 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:15:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928051532.4C1812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:15:32 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:54:08 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:54:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055409.D7555CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:54:08 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:54:58 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:54:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055459.107A0CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:54:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's try to stay with the OO methods of MutexRep throughout Wait/AlertWait. This will allow subclasses of MUTEX to override acquire/release as necessary. From hosking at elego.de Mon Sep 28 07:57:49 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 7:57:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928055749.AA3ECCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 07:57:49 Modified files: cm3/m3-ui/ui/src/vbt/: VBT.m3 Log message: Pedantic check for mutex holder reworked to use overriding of MUTEX methods, instead of nasty and incorrect (user-thread dependent) hacky LOOPHOLE. From jkrell at elego.de Mon Sep 28 10:33:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:33:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928083345.82ABECC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:33:45 Modified files: cm3/: Tag: release_branch_cm3_5_8 m3overrides Log message: copy from head -- just adds to overloads, pkl-fonts=m3-ui/juno-2/juno-app and EyesVBT=m3-ui/ui/test From jkrell at elego.de Mon Sep 28 10:38:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:38:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928083857.624B3CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:38:51 Modified files: cm3/m3-comm/netobj/tests/echorw/src/: m3makefile cm3/m3-comm/netobj/tests/fd/src/: m3makefile cm3/m3-comm/netobj/tests/fd1/src/: m3makefile cm3/m3-comm/netobj/tests/longcall/src/: m3makefile cm3/m3-comm/netobj/tests/perf/src/: m3makefile cm3/m3-comm/netobj/tests/pkl/src/: m3makefile Log message: copy from release branch -- add quotes around quake strings without quotes was an old DEC SRC Modula-3 allowance as I understand From jkrell at elego.de Mon Sep 28 10:57:29 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:57:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928085729.991FACC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:57:28 Modified files: cm3/: m3overrides Log message: add obliqlibemb=m3-obliq, udp=m3-comm From jkrell at elego.de Mon Sep 28 10:59:54 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 10:59:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928085954.7F247CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 10:59:54 Modified files: cm3/m3-comm/events/src/: m3overrides cm3/m3-comm/events/tests/msg/src/: m3overrides cm3/m3-comm/events/tests/work/src/: m3overrides cm3/m3-comm/netobj/src/: m3overrides cm3/m3-comm/netobjd/src/: m3overrides cm3/m3-comm/rdwr/src/: m3overrides cm3/m3-comm/rdwr/test/echo/src/: m3overrides cm3/m3-comm/rdwr/test/john/src/: m3overrides cm3/m3-comm/serial/src/: m3overrides cm3/m3-comm/sharedobj/src/: m3overrides cm3/m3-comm/sharedobj/tests/obsequence/src/: m3overrides cm3/m3-comm/sharedobjgen/src/: m3overrides cm3/m3-comm/stubgen/src/: m3overrides cm3/m3-comm/tapi/src/: m3overrides cm3/m3-comm/tcp/src/: m3overrides cm3/m3-comm/udp/src/: m3overrides cm3/m3-comm/udp/test/src/: m3overrides Log message: cleanup more m3overrides files, to mainly just include ROOT & /m3overrides, but not always From jkrell at elego.de Mon Sep 28 11:32:38 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:32:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928093238.B0834CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:32:38 Modified files: cm3/m3-obliq/metasyn/src/: m3overrides cm3/m3-obliq/obliq/src/: m3overrides cm3/m3-obliq/obliqbin3D/src/: m3overrides cm3/m3-obliq/obliqbinanim/src/: m3overrides cm3/m3-obliq/obliqbinmin/src/: m3overrides cm3/m3-obliq/obliqbinstd/src/: m3overrides cm3/m3-obliq/obliqbinui/src/: m3overrides cm3/m3-obliq/obliqlib3D/src/: m3overrides cm3/m3-obliq/obliqlibanim/src/: m3overrides cm3/m3-obliq/obliqlibemb/src/: m3overrides cm3/m3-obliq/obliqlibm3/src/: m3overrides cm3/m3-obliq/obliqlibui/src/: m3overrides cm3/m3-obliq/obliqparse/src/: m3overrides cm3/m3-obliq/obliqprint/src/: m3overrides cm3/m3-obliq/obliqrt/src/: m3overrides cm3/m3-obliq/obliqsrvstd/src/: m3overrides cm3/m3-obliq/obliqsrvui/src/: m3overrides cm3/m3-obliq/synex/src/: m3overrides cm3/m3-obliq/synloc/src/: m3overrides cm3/m3-obliq/visualobliq/src/: m3overrides cm3/m3-obliq/vocgi/src/: m3overrides cm3/m3-obliq/voquery/src/: m3overrides cm3/m3-obliq/vorun/src/: m3overrides Log message: cleanup all m3-obliq m3overrides files to just include ROOT m3overrides From jkrell at elego.de Mon Sep 28 11:43:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:43:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928094326.441F82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:43:26 Modified files: cm3/m3-ui/anim3D/src/: m3overrides cm3/m3-ui/bicycle/src/: m3overrides cm3/m3-ui/cmvbt/src/: m3overrides cm3/m3-ui/codeview/src/: m3overrides cm3/m3-ui/formsedit/src/: m3overrides cm3/m3-ui/formsvbt/src/: m3overrides cm3/m3-ui/formsvbtpixmaps/src/: m3overrides cm3/m3-ui/formsview/src/: m3overrides cm3/m3-ui/juno-2/juno-app/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/compiler/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/lexer/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/parser/src/: m3overrides cm3/m3-ui/juno-2/juno-compiler/tests/scope/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/linear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/nonlinear/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/runtime/src/: m3overrides cm3/m3-ui/juno-2/juno-machine/solve/src/: m3overrides Log message: cleanup more m3overrides files some of this is removing copyright statements which is hopefully ok, since I replaced entire files with one line that I wrote.. From jkrell at elego.de Mon Sep 28 11:46:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:46:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928094648.197DECC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:46:47 Modified files: cm3/m3-www/deckscape/src/: m3overrides cm3/m3-www/http/src/: m3overrides cm3/m3-www/proxy/src/: m3overrides cm3/m3-www/web/src/: m3overrides cm3/m3-www/webcat/src/: m3overrides cm3/m3-www/webscape/src/: m3overrides Log message: replace all m3-www m3overrides files with the same 31 byte file From jkrell at elego.de Mon Sep 28 11:58:17 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 11:58:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928095817.8C1782474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 11:58:17 Modified files: cm3/m3-ui/ui/src/winvbt/: WinContext.m3 Log message: better to compare against false than true, lest there be other non-zero true values From jkrell at elego.de Mon Sep 28 12:57:52 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 12:57:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928105753.05ED12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 12:57:52 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: should fix an error seen in Hudson From jkrell at elego.de Mon Sep 28 13:13:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 28 Sep 2009 13:13:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928111334.5B642CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/28 13:13:34 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix it to compile From wagner at elego.de Mon Sep 28 18:24:54 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:24:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928162454.913D92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:24:54 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: fix undefined BSET in test_build_system From wagner at elego.de Mon Sep 28 18:37:44 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:37:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928163752.EED772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:37:44 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 defs.sh Log message: fix typo in test_build_system From wagner at elego.de Mon Sep 28 18:51:19 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 18:51:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928165120.E96D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 18:51:19 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh Log message: heed different workspace layouts on master and slaves From hosking at elego.de Mon Sep 28 18:57:37 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 28 Sep 2009 18:57:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928165738.767E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/28 18:57:37 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Solaris.common Log message: Let's see if this works with the next tinderbox run... From wagner at elego.de Mon Sep 28 19:15:56 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 19:15:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928171557.7D55B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 19:15:56 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_pkg_tests.sh Log message: heed different workspace layouts on master and slaves From wagner at elego.de Mon Sep 28 21:13:14 2009 From: wagner at elego.de (Olaf Wagner) Date: Mon, 28 Sep 2009 21:13:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090928191314.537B6CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/09/28 21:13:14 Modified files: cm3/scripts/regression/: Tag: release_branch_cm3_5_8 hudson_build_system.sh hudson_pkg_tests.sh Log message: fix prebuilt m3cc logic From hosking at elego.de Tue Sep 29 02:04:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 29 Sep 2009 2:04:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929000448.6459C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/29 02:04:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Clean up Fork code -- no need to signal parent once forked thread is up and running. Joining parent will wait properly on the thread's completion condition. From jkrell at elego.de Tue Sep 29 10:24:03 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:24:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082403.8654CCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:24:03 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: hardcode SL as / From jkrell at elego.de Tue Sep 29 10:24:55 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:24:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082455.6732DCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:24:55 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: hardcode SL as / From jkrell at elego.de Tue Sep 29 10:26:34 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:26:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082634.0B7A4CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:26:34 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: The detection of if a platform has a good FloatMode implementation has never really been correct, but worked by luck. Remove this mechanism for now, until any platform does have a good FloatMode implementation. (It should be easy on NT386 at least, though not on AMD64_NT for example.) From jkrell at elego.de Tue Sep 29 10:28:54 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:28:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929082854.48DD3CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:28:54 Modified files: cm3/scripts/regression/: user-defs.sh-example Log message: remove extra newline From jkrell at elego.de Tue Sep 29 10:32:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:32:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929083239.3C215CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:32:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: The idle thread mechanism is apparently buggy and leads to heap corruption and crashes. Juno was apparently just a heavy thread user (unnecessarily so) and is where the crashes were consistently seen (though with somewhat inconsistent details). First provide a small change that sets the idle thread maximum to 0, in case anyone wants to experiment and fix it. Next will delete the whole thing. From jkrell at elego.de Tue Sep 29 10:47:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:47:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929084750.EB8D2CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:47:50 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix my regression from April 21 2009 that turned an EnterCriticalSection into a LeaveCriticalSection; this presumably the problem! From jkrell at elego.de Tue Sep 29 10:52:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 10:52:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929085257.7D43FCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 10:52:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: repair LeaveCriticalSection_activeMu() to EnterCriticalSection_activeMu() see: http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3.diff?r1=1.36;r2=1.37;f=u From jkrell at elego.de Tue Sep 29 11:54:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 11:54:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929095406.7BF26CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 11:54:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: eliminate idle thread code pass NIL for last parameter to ReleaseSemaphore assign t.closure := closure earlier, before any possible race From jkrell at elego.de Tue Sep 29 12:04:28 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:04:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929100428.82F18CC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:04:28 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: make it look a little more like ThreadPThread.m3 with respect to no need to lock setting of thread.result or reading thread.closure remove assertion that thread.closure is non-NIL (maybe Win32 was better here?) assert that allThreads # me; that is, the initial thread never gets here redefine thread id from an always incrementing number to instead match the Win32 thread id Index: ThreadWin32.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/ThreadWin32.m3,v retrieving revision 1.60 diff -u -w -r1.60 ThreadWin32.m3 --- ThreadWin32.m3 29 Sep 2009 09:54:06 -0000 1.60 +++ ThreadWin32.m3 29 Sep 2009 10:02:29 -0000 @@ -17,15 +17,14 @@ FROM WinBase IMPORT WaitForSingleObject, INFINITE, ReleaseSemaphore, GetCurrentProcess, DuplicateHandle, GetCurrentThread, CreateSemaphore, CloseHandle, CreateThread, ResumeThread, Sleep, SuspendThread, - GetThreadContext, VirtualQuery, GetLastError, CREATE_SUSPENDED; + GetThreadContext, VirtualQuery, GetLastError, CREATE_SUSPENDED, + GetCurrentThreadId; (*----------------------------------------- Exceptions, types and globals ---*) VAR default_stack: DWORD := 8192; - nextId: Id := 1; - threadMu: Mutex; (* Global lock for internal fields of Thread.T *) @@ -499,31 +498,21 @@ END ThreadBase; PROCEDURE RunThread (me: Activation) = - VAR self: T; cl: Closure; res: REFANY; + VAR self: T; BEGIN EnterCriticalSection_slotMu(); self := slots [me.slot]; LeaveCriticalSection_slotMu(); - LockMutex(threadMu); - cl := self.closure; - self.id := nextId; INC (nextId); - UnlockMutex(threadMu); - - IF (cl = NIL) THEN - Die (ThisLine(), "NIL closure passed to Thread.Fork!"); - END; - (* Run the user-level code. *) IF perfOn THEN PerfRunning(self.id) END; - res := cl.apply(); + self.result := self.closure.apply(); + IF perfOn THEN PerfChanged(self.id, State.dying) END; LockMutex(threadMu); (* mark "self" done and clean it up a bit *) - self.result := res; self.completed := TRUE; Broadcast(self.cond); (* let everybody know that "self" is done *) - IF perfOn THEN PerfChanged(self.id, State.dying) END; UnlockMutex(threadMu); IF perfOn THEN PerfDeleted(self.id) END; @@ -539,7 +528,7 @@ (* remove ourself from the list of active threads *) EnterCriticalSection_activeMu(); - IF allThreads = me THEN allThreads := me.next; END; + <*ASSERT allThreads # me*> me.next.prev := me.prev; me.prev.next := me.next; me.next := NIL; @@ -571,6 +560,7 @@ act := t.act; act.handle := CreateThread(NIL, stack_size, ThreadBase, act, CREATE_SUSPENDED, ADR(id)); + t.id := id; EnterCriticalSection_activeMu(); act.next := allThreads; act.prev := allThreads.prev; @@ -932,7 +922,7 @@ BEGIN threadMu := NEW(Mutex); self := CreateT(me); - self.id := nextId; INC (nextId); + self.id := GetCurrentThreadId(); mutex := NEW(MUTEX); condition := NEW(Condition); From jkrell at elego.de Tue Sep 29 12:09:59 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:09:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929100959.AFD24CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:09:59 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove obsolete comment about rebirth From jkrell at elego.de Tue Sep 29 12:27:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:27:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929102708.6344CCC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:27:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, instead of using one global threadMu for the fields of all threads. Note that Win32 Modula-3 threads/mutexes still scale well due to the the critical section cm that guards everything. Probably can't be fixed until there is a version that depends on the condition variables introduced in Vista. From jkrell at elego.de Tue Sep 29 12:45:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:45:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929104542.3237ECC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:45:41 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: LeaveCriticalSection_activeMu => EnterCriticalSection_activeMu where needed MaxIdle => 0 to disable the idle thread functionality This way Juno no longer crashes worse than historically. From jkrell at elego.de Tue Sep 29 12:51:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:51:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929105156.79234CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:51:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: cleanup: no need for parens around top level expression in if contrary to C From jkrell at elego.de Tue Sep 29 12:52:27 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 12:52:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929105227.62272CC365@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 12:52:27 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: restore one set of parens From jkrell at elego.de Tue Sep 29 13:14:38 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:14:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929111438.F34F3CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:14:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix error messages again as Tony had done on Feb 16 2009 From jkrell at elego.de Tue Sep 29 13:36:04 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:36:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929113604.5899CCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:36:04 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: rename "cs" to "heap" since I believe it is conceptually "the heap lock" "cs" is too short of a name, for certain From jkrell at elego.de Tue Sep 29 13:40:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 13:40:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929114006.0B6C7CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 13:40:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: rename the lock "cm" to "giant" I believe it a broad, albeit maybe briefly held, lock that is needed because condition variables are difficult to implement well on Win32 (prior to Vista, upon which they are they are trivial) either way, "cm" is not a great name From jkrell at elego.de Tue Sep 29 14:15:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 14:15:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929121533.5670BCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 14:15:33 Modified files: cm3/m3-ui/ui/src/winvbt/: WinContext.m3 Log message: let Juno limp along much better but still doesn't really work From jkrell at elego.de Tue Sep 29 14:24:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 14:24:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929122413.57386CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 14:24:13 Modified files: cm3/m3-ui/juno-2/juno-app/src/: Juno.m3 Log message: add @M3no-trestle-await-delete command line option This enables test cases on Windows like: for /l %a in (1 1 20) do start /wait /min \cm3\bin\Juno.exe @M3no-trestle-await-delete see if it gets to the end or not 20 worked testing 100 now From jkrell at elego.de Tue Sep 29 15:00:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:00:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929130013.409EDCC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:00:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: in comments also: cs => heap cm => giant From jkrell at elego.de Tue Sep 29 15:29:24 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:29:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929132925.096FDCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:29:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: rename 'cond' to 'join' to match pthreads From jkrell at elego.de Tue Sep 29 15:30:52 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:30:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133052.6342CCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:30:52 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move PerfChanged(alive) from Fork to RunThread to patch pthreads and because it enables more profitable mimicing of pthreads imminently From jkrell at elego.de Tue Sep 29 15:35:37 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:35:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133537.9AE76CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:35:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: more adjustments to perf callbacks to match pthreads -- this will let us stop storing the thread id redundantly From jkrell at elego.de Tue Sep 29 15:39:42 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:39:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929133942.B18BBCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:39:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 ThreadWin32.i3 ThreadWin32.m3 Log message: like pthread, stop passing around and storing extra thread id just call GetCurrentThreadId as needed (pthread uses the slot index; we have that too, but this is probably better) From jkrell at elego.de Tue Sep 29 15:48:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 15:48:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929134833.00150CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 15:48:32 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: reduce critical section -- esp. remove kernel call CloseHandle From hosking at cs.purdue.edu Tue Sep 29 17:11:00 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 29 Sep 2009 11:11:00 -0400 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090929102708.6344CCC365@birch.elegosoft.com> References: <20090929102708.6344CCC365@birch.elegosoft.com> Message-ID: On 29 Sep 2009, at 12:27, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/09/29 12:27:08 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > Log message: > Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, > instead of using one global threadMu for the fields of all threads. > > Note that Win32 Modula-3 threads/mutexes still scale well due to the don't scale... > the critical section cm that guards everything. Probably can't be > fixed until there is a version that depends on the condition > variables > introduced in Vista. From jay.krell at cornell.edu Tue Sep 29 17:15:45 2009 From: jay.krell at cornell.edu (Jay K) Date: Tue, 29 Sep 2009 15:15:45 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090929102708.6344CCC365@birch.elegosoft.com> Message-ID: That's what I meant sorry. > From: hosking at cs.purdue.edu > To: jkrell at elego.de > Date: Tue, 29 Sep 2009 11:11:00 -0400 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > On 29 Sep 2009, at 12:27, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 09/09/29 12:27:08 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 > > > > Log message: > > Like pthreads, have Thread.T derive from MUTEX, so we can LOCK it, > > instead of using one global threadMu for the fields of all threads. > > > > Note that Win32 Modula-3 threads/mutexes still scale well due to the > > don't scale... > > > the critical section cm that guards everything. Probably can't be > > fixed until there is a version that depends on the condition > > variables > > introduced in Vista. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Sep 29 17:34:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 29 Sep 2009 17:34:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090929153435.BF668CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/09/29 17:34:35 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: change: InnerWait: .. Leave(giant) UnlockMutex: TlsGetValue() Enter(giant) do stuff Leave(giant) to: InnerWait: .. UnlockMutex: TlsGetValue() Enter(giant) (recursive now) do stuff Leave(giant) Leave(giant) This increases the critical section ever so slightly, which can't be too bad, and increases atomicity, which can't be bad. Juno now fails rarely, but not never. Sometimes it hangs. Sometimes it has an array access out of bounds. Assuming m.release() is UnlockMutex. Renaming the mutex to "giant" really does make it easier to understand. From hosking at elego.de Wed Sep 30 15:14:59 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 30 Sep 2009 15:14:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090930131459.0FE07CC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/30 15:14:59 Modified files: cm3/m3-tools/cvsup/suplib/src/: m3makefile Log message: Let's try this for Solaris... From hosking at elego.de Wed Sep 30 15:15:23 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 30 Sep 2009 15:15:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090930131523.4840BCC366@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/09/30 15:15:23 Modified files: cm3/m3-tools/cvsup/quake/: cvsup.quake Log message: Let's try this for Solaris...