From jay.krell at cornell.edu Sun Nov 1 12:10:38 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 1 Nov 2009 11:10:38 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091031183838.70EBACC109@birch.elegosoft.com> References: <20091031183838.70EBACC109@birch.elegosoft.com> Message-ID: This seems to fix the Juno Windows @paranoidgc break. Before I couldn't run Juno even once through its initial parsing, now it's run 20 times and counting. - Jay > Date: Sat, 31 Oct 2009 19:38:38 +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/10/31 19:38:38 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 > > Log message: > I may have broken old space write barriers... revert until can be > reconsidered. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 1 12:24:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:24:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101112427.7E1842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:24:27 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: NT386 Log message: style alteration From jkrell at elego.de Sun Nov 1 12:34:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:34:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101113420.CFD882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:34:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Don't bother getting the previous count in ReleaseSemaphore since it is never used (matches head). From jkrell at elego.de Sun Nov 1 12:41:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:41:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101114103.0C4F62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:41:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: win9x compat (or at least compat with older docs, which I presume correlates) -- don't pass NIL for threadid parameter of CreateThread From jkrell at elego.de Sun Nov 1 12:53:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:53:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101115311.168962474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:53:10 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove incorrect perf notification (all cross-thread ones were recently changed to non cross-thread in order that id == GetCurrentThreadId()) From jkrell at elego.de Mon Nov 2 11:56:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 11:56:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102105656.743DF2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 11:56:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Fix occasional hang starting up Juno -- or rather, fix random hangs in any Win32 Modula-3 code. SuspendThread/ResumeThread wasn't being balanced. The symptom in Juno is that the posted "forge vbt" event wasn't getting recieved. The giveaway however was noticing suspend counts >1 in the debugger when you'd really only expect them all to be 1, or sometimes in Modula-2, 2. But no more than one thread should be 2 and none should be higher. From jkrell at elego.de Mon Nov 2 12:07:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:07:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102110744.A198E2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:07:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: go back a version; that isn't right either From jkrell at elego.de Mon Nov 2 12:23:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:23:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102112319.9954F2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:23:19 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapRep.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Balance SuspendThread/ResumeThread so as to not randomly hang, such as in Juno startup. From jkrell at elego.de Mon Nov 2 12:28:36 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:28:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102112836.72510CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:28:36 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapRep.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: put suspended directly in Thread analogous to pthread (which uses a 4 state enum for the same information) From jkrell at elego.de Mon Nov 2 12:30:58 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:30:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102113058.29D89CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:30:58 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move it up to the transparent ones From jkrell at elego.de Mon Nov 2 12:39:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:39:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102113922.3BC602474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:39:22 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: manage suspended more correct with regard to thread creation From jkrell at elego.de Mon Nov 2 12:53:39 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:53:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102115339.74E4BCC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:53:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: reshrink critical section by using interlocked From jkrell at elego.de Mon Nov 2 13:11:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:11:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121103.CCF29CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:11:03 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 Thread.i3 Log message: cosmetic change from head From jkrell at elego.de Mon Nov 2 13:14:02 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:14:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121403.4AC70CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:14:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: portability fix From jkrell at elego.de Mon Nov 2 13:17:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:17:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121756.BE9142474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:17:56 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 m3makefile Added files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadDebug.c ThreadDebug.i3 Log message: new files from head, in case we fully merge ThreadWin32.m3 From jkrell at elego.de Mon Nov 2 13:30:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:30:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102123006.163232474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:30:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Remove idle thread code. I had recently bumped the idle thread count to 0 and the code is gone in head. However this was in response to heap corruption that was ultimately found to be caused by something else, so maybe maybe maybe we should restore this code for a performance gain. Maybe. From jkrell at elego.de Mon Nov 2 13:39:08 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:39:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102123910.562ABCC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:39:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Fix to balance SuspendThread and ResumeThread to avoid "random" hangs, such as in Juno startup. From jkrell at elego.de Mon Nov 2 13:44:14 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:44:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102124414.BF2EECC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:44:14 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove more idle thread remains From jkrell at elego.de Mon Nov 2 14:02:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:02:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130221.A7E0ECC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:02:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadInternal.i3 ThreadWin32.m3 Log message: equate thread id with Windows GetCurrentThreadId this requires moving a few perf notifications to be from within the thread instead of the e.g. creating/joining thread From jkrell at elego.de Mon Nov 2 14:07:00 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:07:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130701.384252474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:07:00 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Remove ridiculous threadMu that serializes access to all fields of all threads. Instead make each thread have its own lock. From jkrell at elego.de Mon Nov 2 14:09:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:09:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130905.4C7922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:09:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: There is no need to guard use of "unlinked" locals with a critical section, esp./including a call into the kernel (CloseHandle). (match head) From jkrell at elego.de Mon Nov 2 14:10:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:10:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131003.F25022474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:10:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove comment about idle threads From jkrell at elego.de Mon Nov 2 14:11:04 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:11:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131104.EE9CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:11:04 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove another idle thread comment reference From jkrell at elego.de Mon Nov 2 14:15:37 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:15:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131537.3E3E0CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:15:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Rename "cond" to "join". Slight cleanup in RunThread to match pthread/head. From jkrell at elego.de Mon Nov 2 14:16:40 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:16:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131640.A945C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:16:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: cosmetic: remove comment about idle threads, save a newline, add a semicolon From jkrell at elego.de Mon Nov 2 14:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131846.E8CADCC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:18:46 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove unused lock from Condition From jkrell at elego.de Mon Nov 2 14:24:53 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:24:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102132453.B065F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:24:53 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: assert inCritical = 1 in Init From jkrell at elego.de Mon Nov 2 14:30:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:30:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102133027.21D9E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:30:26 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: InitActivations is only called once; inline it From jkrell at elego.de Mon Nov 2 15:24:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:24:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102142401.96035CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:24:01 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: thread-safe manipulation of suspendCount does not necessarily? lead to the correct decision; start fixing this From jkrell at elego.de Mon Nov 2 15:44:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:44:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102144447.313132474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:44:47 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: raise an exception when CreateThread fails (presumably low memory) and remove useless checks From jkrell at elego.de Mon Nov 2 15:47:39 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:47:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102144739.6E7F02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:47:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix very dubious looking code in rare condition in AssignSlot, probably can rewrite this function better though From jkrell at elego.de Mon Nov 2 16:00:50 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:00:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102150050.5D8242474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:00:50 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Go back to critical section for suspendCount; I don't see a simple way around it. From jkrell at elego.de Mon Nov 2 16:18:02 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:18:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102151803.0E58F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:18:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: use literal type instead of explcit type f := 1 instead of f: INTEGER := 1 From jkrell at elego.de Mon Nov 2 16:20:40 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:20:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152040.E4F54CC103@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:20:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: save a newline From jkrell at elego.de Mon Nov 2 16:24:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:24:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152434.968E6CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:24:34 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: back to a criticalsection for suspendCount inline InitActivations start out inCritical From jkrell at elego.de Mon Nov 2 16:26:08 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:26:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152608.C7840CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:26:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: fix AssignSlot under race condition + low resources From jkrell at elego.de Mon Nov 2 16:42:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:42:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102154244.0FFAA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:42:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: merge StopWorld into its only caller SuspendOthers, similar to how ResumeOthers was already written seemingly avoid unnecessary calls to GetActivation also, though not sure this ever occurs recursively as the code is prepared to handle From jkrell at elego.de Mon Nov 2 16:44:13 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:44:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102154415.99A772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:44:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix From jkrell at elego.de Mon Nov 2 17:31:12 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 17:31:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102163112.EE3552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 17:31:12 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: - remove the funny recursive retry in favor a normal loop - use a clearer and more accurate test to determine who won the race The previous code was ok but the comment not always right as multiple threads could allocate a table of n+n size. From hosking at elego.de Mon Nov 2 19:18:32 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 2 Nov 2009 19:18:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102181832.981772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/02 19:18:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's make the mutex in Condition explicit rather than inherited. Implementation of Condition may change making it not like a mutex exactly. From jkrell at elego.de Mon Nov 2 22:52:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:52:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215221.215252474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:52:20 Modified files: cm3/scripts/python/: pylib.py Log message: should allow building Debian packages for any target From jkrell at elego.de Mon Nov 2 22:57:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:57:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215716.4916F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:57:16 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: should allow building Debian packages for any target From jkrell at elego.de Mon Nov 2 22:58:06 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:58:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215806.C729DCC103@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:58:06 Modified files: cm3/scripts/python/: pylib.py Log message: a few more processor names From wagner at elego.de Tue Nov 3 00:24:02 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 3 Nov 2009 0:24:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102232403.1A625CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/03 00:24:02 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh version Log message: move to RC4 at last From jkrell at elego.de Tue Nov 3 10:47:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 10:47:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103094734.A18512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 10:47:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: restore it to compiling -- put back Condition inheriting from MUTEX and use the correct identifier on END From jkrell at elego.de Tue Nov 3 11:54:57 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 11:54:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103105457.242122474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 11:54:57 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: adapt to use pthread_suspend/resume_np on OpenBSD only crashes though Can we fix it? Maybe. From jkrell at elego.de Tue Nov 3 11:56:31 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 11:56:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103105631.871D72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 11:56:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 Log message: fix so it compiles From jkrell at elego.de Tue Nov 3 12:01:10 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:01:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103110110.6D38B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:01:10 Modified files: cm3/m3-libs/m3core/src/: thread.quake cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c context.h Log message: slightly adapt so OpenBSD can compile/link user threads, and uses them by default. (OpenBSD doesn't have ucontext.h and has a wierd ucontext.h; we replace them in our context.h) but also crashes Can we fix it? Maybe. Some of the #ifdef __OpenBSD__ should be dropped as compilation is tested on other platforms. From jkrell at elego.de Tue Nov 3 12:25:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:25:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103112543.C34E32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:25:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/: thread.quake Log message: neuter OpenBSD changes pending investigation/fix; it worked 'better' before even though it didn't really work From jkrell at elego.de Tue Nov 3 12:57:57 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:57:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103115757.3ED7C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:57:56 Modified files: cm3/scripts/: sysinfo.sh Log message: remove echos that break m3-sys/cm3/src/version.quake From jkrell at elego.de Tue Nov 3 13:02:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:02:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103120239.0D2E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:02:39 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 sysinfo.sh Log message: reduce echoing that causes problems From jkrell at elego.de Tue Nov 3 13:06:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:06:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103120633.958402474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:06:33 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: OpenBSD.common Unix.common Log message: Actually use -static on OpenBSD as OpenBSD seems to have absolutely zero compatibility for dynamic files across releases with default installs -- libc.so changes name. This addresses cm3. cm3cg still needs a fix like this. From jkrell at elego.de Tue Nov 3 13:38:05 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:38:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103123805.E95F12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:38:05 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: remove unused macro ZeroMemory From jkrell at elego.de Tue Nov 3 13:50:17 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:50:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103125018.0A4E62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:50:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: go ahead and zero act, oact, being sure to #define ZeroMemory like in m3unix.h to hopefully avoid warning (in time we'll probably #include m3unix.h always here and remove the #define, once we compile on a few more systems) From jkrell at elego.de Tue Nov 3 13:59:38 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:59:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103125938.3F5082474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:59:38 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: fix for C++ -- #include string.h and cast from void* From jkrell at elego.de Tue Nov 3 14:07:46 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:07:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103130746.AEBD12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:07:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: check for failure From jkrell at elego.de Tue Nov 3 14:10:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:10:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131043.9B1522474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:10:43 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: check for failure From jkrell at elego.de Tue Nov 3 14:13:58 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:13:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131358.847382474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:13:58 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: check for failure From jkrell at elego.de Tue Nov 3 14:15:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:15:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131550.40FB02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:15:50 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: fill in the stack in getcontext (just to the address of parameter), so we don't access NULL From jkrell at elego.de Tue Nov 3 14:20:21 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:20:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103132021.ED9E02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:20:21 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: style: use NULL instead of 0 (arguable) From jkrell at elego.de Tue Nov 3 14:23:36 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:23:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103132336.53FF82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:23:36 Modified files: cm3/m3-libs/m3core/src/: thread.quake Log message: again userthreads on OpenBSD, seems to work From jkrell at elego.de Tue Nov 3 14:49:25 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:49:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103134925.F29A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:49:24 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: 0 to NULL From jkrell at elego.de Tue Nov 3 14:55:24 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:55:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103135524.8768E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:55:24 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: cleanup the #ifs and #defines (compiles on OpenBSD/x86, Solaris/sparc, Darwin/x86) From jkrell at elego.de Tue Nov 3 15:02:26 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 15:02:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103140226.413CD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 15:02:26 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: -static on OpenBSD to avoid the ever changing libc.so name From jkrell at elego.de Tue Nov 3 16:21:30 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 16:21:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103152130.3C1C52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 16:21:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: only set ss_sp on the get side, not on the return size, seems to fix the OpenBSD problem..still testing.. From jkrell at elego.de Tue Nov 3 16:29:05 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 16:29:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103152905.7DEFA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 16:29:05 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: use just the one notion of the stack (from the jumpbuf instead of the address of a local or parameter) From jkrell at elego.de Tue Nov 3 17:54:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 17:54:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103165432.B5EB62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 17:54:32 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Ignore stacks of threads that aren't yet fully initialized/running. Now Juno works on OpenBSD/x86 with user threads! From hosking at elego.de Tue Nov 3 18:02:18 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:02:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103170218.8A5F72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:02:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Revert Condition = MUTEX OBJECT. Not sure why Jay undid this. Should work fine. From hosking at elego.de Tue Nov 3 18:06:06 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:06:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103170606.948A62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:06:06 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Undo undo. Sorry Jay. Forgot that InitMutex is used for both Condition and Mutex. From hosking at cs.purdue.edu Tue Nov 3 18:17:39 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 3 Nov 2009 12:17:39 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091103165432.B5EB62474001@birch.elegosoft.com> References: <20091103165432.B5EB62474001@birch.elegosoft.com> Message-ID: <9297A70B-EFF8-4840-B0D0-867229867928@cs.purdue.edu> Great catch! Hooray. Did you consider using the sigaltstack trick to implement makecontext rather than trolling around in the jmpbuf? On 3 Nov 2009, at 17:54, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/03 17:54:32 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > Log message: > Ignore stacks of threads that aren't yet fully initialized/running. > Now Juno works on OpenBSD/x86 with user threads! -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Tue Nov 3 18:36:59 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:36:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103173700.024FC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:36:59 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Check for double join. From hosking at elego.de Tue Nov 3 19:03:50 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 19:03:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103180350.D7ED62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 19:03:50 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Revert until we resolve some questions as to spec for Join/AlertJoin. From hosking at elego.de Tue Nov 3 21:26:10 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:26:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103202610.B590E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:26:10 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTTypeSRC.i3 Log message: No need for TypecodeCharStar. We can print using RTIO.PutString(RTType.Get(tc).name). From hosking at elego.de Tue Nov 3 21:27:31 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:27:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103202731.67CB32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:27:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 Log message: No need for TypecodeCharStar. We can print using RTIO.PutString(RTType.Get(tc).name). From hosking at elego.de Tue Nov 3 21:30:21 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:30:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103203022.03C9D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:30:21 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 Log message: Oops, dropped TypeDefnToName somehow. From hosking at elego.de Tue Nov 3 21:42:51 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103204251.38A102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:42:51 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Implement check that at most one thread can join. From jay.krell at cornell.edu Wed Nov 4 06:57:34 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 4 Nov 2009 05:57:34 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091103202731.67CB32474001@birch.elegosoft.com> References: <20091103202731.67CB32474001@birch.elegosoft.com> Message-ID: In @paranoidgc I didn't want the heap alloc that the existing function to get the name as TEXT used but didn't notice that RTType.Get was also public. - Jay > Date: Tue, 3 Nov 2009 21:27:31 +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/11/03 21:27:31 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 > > Log message: > No need for TypecodeCharStar. > We can print using RTIO.PutString(RTType.Get(tc).name). > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Nov 4 07:26:22 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 4 Nov 2009 06:26:22 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <9297A70B-EFF8-4840-B0D0-867229867928@cs.purdue.edu> References: <20091103165432.B5EB62474001@birch.elegosoft.com> Message-ID: I already had the nearly working makecontext code before you sent the link. Wrote it months ago. Using sigalstack is much more portable? I'll try to get to it at some point..not soon/no promises. - Jay From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Tue, 3 Nov 2009 12:17:39 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Great catch! Hooray. Did you consider using the sigaltstack trick to implement makecontext rather than trolling around in the jmpbuf? On 3 Nov 2009, at 17:54, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 17:54:32 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Ignore stacks of threads that aren't yet fully initialized/running. Now Juno works on OpenBSD/x86 with user threads! -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Nov 5 18:26:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:26:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105172630.254F12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:26:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Uexec.i3 Unix.i3 Uprocess.i3 Usched.i3 Uugid.i3 Uuio.i3 Log message: Trivial merge/copy from head: remove external pragamas on interfaces, add one functions to correlate (just on vfork -- in our current scheme functions need their own anyway to affect the rename, except that vfork cannot be wrapped without violating Posix spec (and we never use vfork, we use fork instead, fork is just as fast (or slow, Cygwin) on all our platforms, vfork is left here just for some sort of compat..though it isn't even exactly compatible (NetBSD?))))) From jkrell at elego.de Thu Nov 5 18:37:08 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:37:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105173710.24F212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:37:08 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Uin.c Log message: copy/merge from head -- #include arpa/inet.h From jkrell at elego.de Thu Nov 5 18:41:25 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:41:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174128.2BDB12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:41:25 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTIO.i3 Log message: from head -- fix a comment From jkrell at elego.de Thu Nov 5 18:42:40 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:42:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174240.0EBAB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:42:40 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Upwd.i3 Log message: copy from head -- remove pragma extern on interfaces From jkrell at elego.de Thu Nov 5 18:49:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:49:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174933.7FB5F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:49:29 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Tag: release_branch_cm3_5_8 context.c context.h Log message: Trivial and so far moot copy/merge from head. - move #defines get/set/make/swapcontext Uucontext__get/set/make/swapcontext from .c to .h, so that over in ThreadPosix.c they can #include context.h and get them - only store the stack pointer for the first call to setjmp, not both These only matter if we port more stuff from head and then only for OpenBSD or (untested) pre-10.5 Darwin/PPC. (There is the minor matter of 10.4 Darwin/Intel.) From hosking at elego.de Thu Nov 5 18:53:44 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 18:53:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175345.A05AA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 18:53:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 ThreadPThreadC.c Log message: Revert state management to what it used to be. Add (hopefully correct) extraction of sp for OpenBSD. From jkrell at elego.de Thu Nov 5 18:54:32 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:54:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175432.B64D12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:54:32 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 RTCollectorSRC.i3 Log message: minor partial merge from head -- add do-nothing DisableVM for slightly improved source compatibility with older cm3 (slightly easier building of old cm3 against new m3core, which I sometimes run into investigating historical behavior and when things changed, which is a scenario that doesn't work well and is only a very minor improvement to) From jkrell at elego.de Thu Nov 5 18:56:22 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:56:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175622.AF7642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:56:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Usignal.i3 Log message: copy from head -- remove pragma extern on interfaces From jkrell at elego.de Thu Nov 5 19:52:47 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 19:52:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105185248.4393F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 19:52:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix typo and limit width to 80 (I'm not strict about this, but I happen to be in a narrow terminal and it is easy here); but it doesn't work anyway and is disabled, user threads for now From jkrell at elego.de Thu Nov 5 20:37:02 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 20:37:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105193702.876C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 20:37:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: use common code Self/SelfOrDie/XJoin though the diagnostics suffer slightly in terms of function name/line (we could pass them in, but that maybe is not worth the cost) From hosking at elego.de Thu Nov 5 21:54:38 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 21:54:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105205438.A30DD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 21:54:38 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Non-M3 threads should never hold Mutex or Condition references (otherwise the GC cannot find those references). Non-M3 threads should never call TestAlert. From hosking at elego.de Thu Nov 5 22:09:29 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 22:09:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105210929.99F2C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 22:09:29 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Fix compilation error. And eliminate GetActivation. From hosking at elego.de Thu Nov 5 22:15:40 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 22:15:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105211540.803812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 22:15:40 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's keep all calls to Self at the top-level entry points. From hosking at elego.de Thu Nov 5 23:13:33 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 23:13:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105221333.730602474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 23:13:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Print out errno for unexpected values. From hosking at elego.de Fri Nov 6 00:01:08 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 0:01:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105230108.354AD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 00:01:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Some more sanity checking for Mika. From hosking at elego.de Fri Nov 6 00:35:21 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 0:35:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105233522.1A57B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 00:35:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Another version for Mika to try. Not sure why we might need to extract the semaphore value yet again, but OK. From wagner at elego.de Fri Nov 6 01:36:39 2009 From: wagner at elego.de (Olaf Wagner) Date: Fri, 6 Nov 2009 1:36:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091106003640.9FF962474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/06 01:36:39 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html cm3/www/releng/: Tag: release_branch_cm3_5_8 download-frag.html index.html update-releng-index.sh Added files: cm3/www/releng/: Tag: release_branch_cm3_5_8 relnotes-5.8-RC4.html Log message: switch to RC4 From hosking at elego.de Fri Nov 6 19:28:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 19:28:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091106182838.0C31C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 19:28:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: The assertion may be wrong (cf. Boehm collector pthread_stop_world.c). From wagner at elego.de Sat Nov 7 19:56:36 2009 From: wagner at elego.de (Olaf Wagner) Date: Sat, 7 Nov 2009 19:56:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107185636.D96652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/07 19:56:36 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 index.html nav-home.html news.html Added files: cm3/www/: Tag: release_branch_cm3_5_8 olds.html startf.html Log message: split news and start page From wagner at elego.de Sat Nov 7 20:00:58 2009 From: wagner at elego.de (Olaf Wagner) Date: Sat, 7 Nov 2009 20:00:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107190058.DFAA82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/07 20:00:58 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 relnotes-5.8-RC4.html Log message: fix link From hosking at elego.de Sat Nov 7 20:39:24 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 7 Nov 2009 20:39:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107193924.212D22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/07 20:39:24 Modified files: cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: Drop ref to Upthread. From jkrell at elego.de Sat Nov 7 22:34:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:34:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107213428.211A22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:34:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: no need for these self variables that are only used once (except maybe where the order varies) From jkrell at elego.de Sat Nov 7 22:52:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:52:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107215256.C03B02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:52:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Slightly restructure for better code sharing and greater similarity with Pthread implementation (maybe we can share more code..) Copy the code from pthread as well for correctly dealing with an alert within AlertWait. From jkrell at elego.de Sat Nov 7 22:55:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107215505.EDEF82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:55:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: need to clear join after broadcast for the Alert during AlertWait code, like pthread From hosking at elego.de Sun Nov 8 09:19:08 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 8 Nov 2009 9:19:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108081908.CD24C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/08 09:19:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: m3makefile cm3/m3-libs/m3core/src/unix/darwin-generic/: m3makefile cm3/m3-libs/m3core/src/unix/freebsd-4/: m3makefile cm3/m3-libs/m3core/src/unix/linux-libc6/: m3makefile cm3/m3-libs/m3core/src/unix/solaris-2-x/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.c Upthread.i3 cm3/m3-libs/m3core/src/unix/darwin-generic/: Upthread.i3 Upthread.m3 cm3/m3-libs/m3core/src/unix/freebsd-4/: Upthread.i3 cm3/m3-libs/m3core/src/unix/linux-libc6/: Upthread.i3 cm3/m3-libs/m3core/src/unix/solaris-2-x/: Upthread.i3 Log message: Rework ThreadPThread to avoid use of deprecated Upthread.i3. Delete Upthread files. Rework ThreadPThread to avoid expensive Self() call on thread primitives by putting the thread state in the (UNTRACED) Activation rather than Thread.T. Be much more cautious about resending signals to avoid too many acks. Hopefully this will fix the reported errors on FreeBSD7. Needs thorough testing on all platforms (help appreciated). Tested on I386_DARWIN, but needs testing on non-Darwin systems that use signals to stop threads. From hosking at elego.de Sun Nov 8 22:17:11 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 8 Nov 2009 22:17:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108211711.7302BCC369@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/08 22:17:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: This appears to work on Mika's AMD64_FREEBSD box, at least for p007. Further testing needed. Hopefully should also fix the problems on OpenBSD? From jkrell at elego.de Sun Nov 8 22:42:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 8 Nov 2009 22:42:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108214257.77458CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 22:42:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline InitActivations into its only caller Init From jkrell at elego.de Sun Nov 8 23:22:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 8 Nov 2009 23:22:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108222205.CD0302474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 23:22:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline RunThread in its only caller ThreadBase From jkrell at elego.de Mon Nov 9 00:06:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:06:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108230643.DE61B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:06:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: update coment to not refer to RunThread that I removed From jkrell at elego.de Mon Nov 9 00:09:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:09:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108230922.0D7202474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:09:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: please, no tabs From jkrell at elego.de Mon Nov 9 00:37:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:37:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108233705.89972CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:37:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: reduce critical section slightly (I don't think the locking is needed here at all actually.) From jkrell at elego.de Mon Nov 9 00:43:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:43:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108234316.240272474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:43:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: something odd here, go back a version From jkrell at elego.de Mon Nov 9 00:49:37 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:49:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108234937.DDFC0CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:49:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: go back to Tony's version 163 otherwise I intermittently get: *** *** runtime error: *** Thread client error: unslotted thread! *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 360 *** which I think may indicate some other bug or fragility From hosking at cs.purdue.edu Mon Nov 9 01:11:30 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:11:30 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091108214257.77458CC368@birch.elegosoft.com> References: <20091108214257.77458CC368@birch.elegosoft.com> Message-ID: <87C97B8B-1744-4550-9E20-BDF9098CD40E@cs.purdue.edu> Don't do that! Let the compiler do it if it decides to. The separation is conceptually important! 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 8 Nov 2009, at 22:42, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/08 22:42:56 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > inline InitActivations into its only caller Init -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 9 01:11:57 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:11:57 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091108222205.CD0302474001@birch.elegosoft.com> References: <20091108222205.CD0302474001@birch.elegosoft.com> Message-ID: Also, no! We want to maintain the conceptual separation between the traced and untraced worlds! 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 8 Nov 2009, at 23:22, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/08 23:22:05 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > inline RunThread in its only caller ThreadBase -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:14:25 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:14:25 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091108222205.CD0302474001@birch.elegosoft.com> Message-ID: I undid this, sorry. From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Sun, 8 Nov 2009 19:11:57 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Also, no! We want to maintain the conceptual separation between the traced and untraced worlds! 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 8 Nov 2009, at 23:22, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 23:22:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline RunThread in its only caller ThreadBase -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:16:30 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:16:30 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <87C97B8B-1744-4550-9E20-BDF9098CD40E@cs.purdue.edu> References: <20091108214257.77458CC368@birch.elegosoft.com> Message-ID: Is it really? Thread.Init vs. Thread.InitActivations? I undid it because I was undoing other stuff but this part seems ok to me. It is sometimes easier to see relationships by inlining, when one small function calls another, I actually can't see enough on my screen at once (as opposed to the more normal problem of functions being too long to see enough). ThreadBase vs. RunThread there are issues there, I'll leave it as you left it. - Jay From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Sun, 8 Nov 2009 19:11:30 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Don't do that! Let the compiler do it if it decides to. The separation is conceptually important! 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 8 Nov 2009, at 22:42, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 22:42:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline InitActivations into its only caller Init -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 9 01:22:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:22:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109002216.D0F112474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:22:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: no locking needed here, during startup From hosking at elego.de Mon Nov 9 01:36:41 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 1:36:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109003642.6AE032474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 01:36:41 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: OK, fine, yes we don't need to lock in InitActivations. But why bother with the repeated assertions. From jay.krell at cornell.edu Mon Nov 9 01:41:46 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:41:46 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091109003642.6AE032474001@birch.elegosoft.com> References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: The repeated assertions somewhat ensure there was no race. Ok with removing them. - Jay > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > OK, fine, yes we don't need to lock in InitActivations. > But why bother with the repeated assertions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 9 01:45:13 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:45:13 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: <2BE6DA34-B3A0-4445-A707-23A529C652B2@cs.purdue.edu> You have no guarantee there is no race anyway, since there is no synchronization to let you see the real state of things. On 8 Nov 2009, at 19:41, Jay K wrote: > The repeated assertions somewhat ensure there was no race. Ok with > removing them. > > - Jay > > > > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > > > Log message: > > OK, fine, yes we don't need to lock in InitActivations. > > But why bother with the repeated assertions. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:47:31 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:47:31 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <2BE6DA34-B3A0-4445-A707-23A529C652B2@cs.purdue.edu> References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: ok 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: Sun, 8 Nov 2009 19:45:13 -0500 You have no guarantee there is no race anyway, since there is no synchronization to let you see the real state of things. On 8 Nov 2009, at 19:41, Jay K wrote: The repeated assertions somewhat ensure there was no race. Ok with removing them. - Jay > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > OK, fine, yes we don't need to lock in InitActivations. > But why bother with the repeated assertions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 9 01:54:31 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:54:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109005431.CC291CC36B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:54:31 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: eliminate locking of reading slots ensure the writing is done with a careful ordering, using MemoryBarrier slots has high use on Win32 but low use now in pthreads (essentially Modula-3 Win32 threads had two big locks affecting "all" thread options, now down to one) From jkrell at elego.de Mon Nov 9 01:58:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:58:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109005822.E68312474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:58:22 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: tweak From jkrell at elego.de Mon Nov 9 02:11:38 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 2:11:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109011138.4EC3F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 02:11:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: remove locking from FreeSlot also, using InterlockedIncrement/Decrement on n_slotted From jkrell at elego.de Mon Nov 9 05:28:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:28:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109042847.BC7F92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:28:47 Added files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Atomic.i3 m3makefile Log message: experiment/prototype implementation of Atomic.MemoryBarrier for Win32, gcc, and Solaris (I know that is apples and oranges, but it isn't nonsense.) From jkrell at elego.de Mon Nov 9 05:29:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:29:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109042944.4607D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:29:44 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: fix for older Microsoft headers/compiler From jkrell at elego.de Mon Nov 9 05:49:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:49:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109044920.590842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:49:19 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: support for gcc < 4, x86 only for now (OpenBSD) From jkrell at elego.de Mon Nov 9 05:49:41 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:49:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109044941.99E4C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:49:41 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: remove newline From jkrell at elego.de Mon Nov 9 05:52:35 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:52:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045235.9116E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:52:35 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: cleanup From jkrell at elego.de Mon Nov 9 05:55:33 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:55:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045533.2AEA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:55:33 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: support older Microsoft compilers with maximal warnings (see m3unix.h) From jkrell at elego.de Mon Nov 9 05:58:13 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:58:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045813.B03AB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:58:13 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.i3 Log message: fix From jkrell at elego.de Mon Nov 9 05:58:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:58:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045844.CC41F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:58:44 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: enable atomic, probably will need interface policing From jkrell at elego.de Mon Nov 9 06:10:27 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 6:10:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109051027.57FE22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 06:10:27 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: calling convention From jkrell at elego.de Mon Nov 9 06:13:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 6:13:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109051305.CED832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 06:13:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: use Atomic.MemoryBarrier instead of ThreadWin32.MemoryBarrier From hosking at elego.de Mon Nov 9 17:14:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 17:14:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109161439.938072474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 17:14:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: ThreadPThread.s no longer exists here. From hosking at elego.de Mon Nov 9 22:39:02 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 22:39:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109213902.701C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 22:39:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachineASM.s cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachineASM.s Log message: Move SPARC window flushing code into C files as ASM. Eliminates a couple of files, and makes things more modular. From hosking at elego.de Mon Nov 9 23:31:33 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:31:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223133.CF5F02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:31:33 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.i3 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.i3 RTStackC.c cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTMachine.i3 m3makefile Log message: Clean up for compilation on both 64-bit and 32-bit. Need to verify that SPARC64_SOLARIS FrameInfo is correct before enabling stack walking on 64-bit. From hosking at elego.de Mon Nov 9 23:32:59 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:32:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223300.022FF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:32:59 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/AMD64_DARWIN/: 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/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/FreeBSD4/: 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/I386_DARWIN/: 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/LINUXLIBC6/: 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/PPC_DARWIN/: 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: Trash unnecessary code from old user-threads implementation. From hosking at elego.de Mon Nov 9 23:37:00 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:37:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223700.6BF222474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:37:00 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: Current atomic breaks on Mac OS X. Disable. From hosking at elego.de Mon Nov 9 23:38:15 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:38:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223815.C71E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:38:15 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Avoid warning. From hosking at elego.de Tue Nov 10 04:47:30 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:47:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034731.C85652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:47:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Put the memory barrier stuff here if it is needed for MSC. Generally, I prefer using the already-supported gcc intrinsics, which give inline instructions where needed. On x86, a StoreLoad membar can also be implemented using CAS/CASP builtins. This will be preferred for other targets than WIN32. Jay should decide what he wants to do. It can easily be supported by implementing the __sync_* functions that the gcc-based backend otherwise implements as intrinsics. Beware for now that the current gcc-based backend is not up-to-date for proper generation of mfence on x86. We need to move to a later version of gcc (gcc-4.4.1?) for that. Also, I am unconvinced that the current implementation of AssignSlot can ever be correct without the critical section. It requires atomic update of both the slots array pointer (with the new slots) *and* the array elements. This requires a proper CS instead of non-blocking synchronization. From hosking at elego.de Tue Nov 10 04:47:49 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:47:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034750.D823A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:47:49 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: Put the memory barrier stuff here if it is needed for MSC. Generally, I prefer using the already-supported gcc intrinsics, which give inline instructions where needed. On x86, a StoreLoad membar can also be implemented using CAS/CASP builtins. This will be preferred for other targets than WIN32. Jay should decide what he wants to do. It can easily be supported by implementing the __sync_* functions that the gcc-based backend otherwise implements as intrinsics. Beware for now that the current gcc-based backend is not up-to-date for proper generation of mfence on x86. We need to move to a later version of gcc (gcc-4.4.1?) for that. Also, I am unconvinced that the current implementation of AssignSlot can ever be correct without the critical section. It requires atomic update of both the slots array pointer (with the new slots) *and* the array elements. This requires a proper CS instead of non-blocking synchronization. From hosking at elego.de Tue Nov 10 04:49:15 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:49:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034915.4FF0D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:49:15 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: Ditch atomic here. Use CAS/CASP builtins in preference. From hosking at elego.de Tue Nov 10 05:02:14 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 5:02:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110040214.A26932474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 05:02:14 Removed files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Atomic.i3 m3makefile Log message: Ditch atomic here. Use CAS/CASP builtins in preference. From hosking at elego.de Tue Nov 10 17:55:56 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 17:55:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110165556.481282474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 17:55:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: FreeBSD seems to lose signals somehow... So, let's be even more precise about states and signaling. From jkrell at elego.de Wed Nov 11 06:41:37 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 6:41:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111054137.880462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 06:41:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: cleanup (extern C, include atomic.h) From jkrell at elego.de Wed Nov 11 07:18:07 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 7:18:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111061808.453822474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 07:18:07 Modified files: cm3/m3-libs/m3core/src/win32/: WinNT.i3 WinNTc.c m3makefile Log message: cleanup WinNT__MemoryBarrier From jkrell at elego.de Wed Nov 11 07:21:05 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 7:21:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111062105.97ACC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 07:21:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 ThreadWin32C.c Log message: use windows.h MemoryBarrier if available or WinNT__MemoryBarrier From hosking at elego.de Sat Nov 14 22:23:46 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:23:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114212346.9B45B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:23:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Use thread suspend/resume primitives on FreeBSD. I've tested p007 with this and it works fine on Mika's FreeBSD machine. Further testing needed please! Cleaned up thread state processing code. Made static mutexes directly accessible to eliminate special-purpose mutex routines. From hosking at elego.de Sat Nov 14 22:39:18 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:39:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114213918.EB7D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:39:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Some assertions for OpenBSD. From hosking at elego.de Sat Nov 14 22:41:39 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114214139.10EA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:41:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Reorder for readability. From wagner at elego.de Sun Nov 15 13:38:20 2009 From: wagner at elego.de (Olaf Wagner) Date: Sun, 15 Nov 2009 13:38:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091115123820.51F5B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/15 13:38:20 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html top.html Log message: add link to contributed Debian archives From jkrell at elego.de Tue Nov 17 01:10:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:10:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117001056.7D9192474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:10:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: replace __0OpenBSD__ with __OpenBSD__ From jkrell at elego.de Tue Nov 17 01:12:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:12:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117001235.E75C0CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:12:35 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: replace Apple | FreeBSD | OpenBSD with M3_DIRECT_SUSPEND From jkrell at elego.de Tue Nov 17 01:20:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:20:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002009.2B0032474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:20:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: move all #includes to top rename CUSTOM_SUSPEND_ASSERT_FALSE to M3_DIRECT_SUSPEND_ASSERT_FALSE fprintf and abort after assert(0) From jkrell at elego.de Tue Nov 17 01:21:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:21:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002113.56FD0CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:21:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: remove redundant #define of ZeroMemory From jkrell at elego.de Tue Nov 17 01:25:20 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:25:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002520.62BAD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:25:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: ThreadPThread__SuspendThread and ThreadPThread__RestartThread are identical for OpenBSD and FreeBSD, don't duplicate them (we can probably use same for others such as NetBSD, Irix, AIX, and almost the same for Solaris) From jkrell at elego.de Tue Nov 17 01:26:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:26:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002635.8C34A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:26:35 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: remove tentative (#if 0'ed) use of __thread From jkrell at elego.de Tue Nov 17 01:32:44 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:32:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117003244.717E4CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:32:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: comments and fix #if/#endif From hosking at cs.purdue.edu Tue Nov 17 03:27:34 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 16 Nov 2009 21:27:34 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091117002520.62BAD2474001@birch.elegosoft.com> References: <20091117002520.62BAD2474001@birch.elegosoft.com> Message-ID: Please don't use suspend, etc. for Solaris. On 17 Nov 2009, at 01:25, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/17 01:25:20 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > ThreadPThread__SuspendThread and ThreadPThread__RestartThread are > identical for OpenBSD and FreeBSD, don't duplicate them > (we can probably use same for others such as NetBSD, Irix, AIX, > and almost the same for Solaris) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Nov 17 20:58:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:58:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195809.0395F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:58:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix for SOLgnu (and probably SOLsun, SPARC{32,64}_{SOLARIS,LINUX,FREEBSD,OPENBSD,etc.}) ThreadPThreadC.c From jkrell at elego.de Tue Nov 17 20:58:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:58:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195839.069412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:58:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix From jkrell at elego.de Tue Nov 17 20:59:54 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:59:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195954.B5BC12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:59:54 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: better: remove ThreadPThread__SaveRegsInStack entirely for most platforms From jkrell at elego.de Tue Nov 17 21:05:01 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 21:05:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117200501.7EDCE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 21:05:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThreadC.c Log message: wrap everything From hosking at elego.de Tue Nov 17 21:23:56 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Nov 2009 21:23:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117202356.2F9582474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/17 21:23:56 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: SaveRegsInStack is a *static* asm (not embedded in the body of a C-level function). The C *declaration* is there only for C calls. Tidy up a few symbols as well. From jay.krell at cornell.edu Tue Nov 17 23:39:35 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Tue, 17 Nov 2009 14:39:35 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091117202356.2F9582474001@birch.elegosoft.com> References: <20091117202356.2F9582474001@birch.elegosoft.com> Message-ID: <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> Yeah sorry I later realized my version must be wrong, what with all the directives. I'm pretty sure I was up to date though and previous didn't work. - Jay (phone) On Nov 17, 2009, at 9:23 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/11/17 21:23:56 > > Modified files: > cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > SaveRegsInStack is a *static* asm (not embedded in the body of a > C-level > function). The C *declaration* is there only for C calls. > Tidy up a few symbols as well. > > From jkrell at elego.de Wed Nov 18 11:10:10 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Nov 2009 11:10:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091118101010.81B882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/18 11:10:10 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix From jay.krell at cornell.edu Wed Nov 18 23:18:39 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 18 Nov 2009 22:18:39 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> References: <20091117202356.2F9582474001@birch.elegosoft.com>, <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> Message-ID: It works (compile/link). I was probably out of date at the time, sorry. - Jay > From: jay.krell at cornell.edu > To: hosking at elego.de > Date: Tue, 17 Nov 2009 14:39:35 -0800 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Yeah sorry I later realized my version must be wrong, what with all > the directives. I'm pretty sure I was up to date though and previous > didn't work. > > - Jay (phone) > > On Nov 17, 2009, at 9:23 PM, hosking at elego.de (Antony Hosking) wrote: > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/11/17 21:23:56 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c > > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > > > Log message: > > SaveRegsInStack is a *static* asm (not embedded in the body of a > > C-level > > function). The C *declaration* is there only for C calls. > > Tidy up a few symbols as well. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 20 09:17:47 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:17:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120081747.735A12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:17:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.h Log message: remove unused declaration From jkrell at elego.de Fri Nov 20 09:27:54 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:27:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120082754.41B522474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:27:54 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: inactive attempt at http://www.usenix.org/event/usenix2000/general/full_papers/engelschall/engelschall.pdf which would be much more portable than what we currently have for OpenBSD (which lacks get/set/make/swapcontext, as well as decent pthread implementation, though I will retest pthreads shortly) doesn't seem to work I must have something simple wrong. It does seem dangerous to call sigaltstack with any signals other than SIGUSR1 enabled. From jkrell at elego.de Fri Nov 20 09:49:24 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:49:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120084926.221612474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:49:24 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix my mista;e ThreadPThread__SaveRegsInStack is referenced from Modula-3 so must remain here for all platforms From jkrell at elego.de Fri Nov 20 10:13:44 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:13:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120091344.3C5882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:13:44 Added files: cm3/m3-libs/m3core/src/: Tag: release_branch_cm3_5_8 platforms.quake cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadInternal.i3 Log message: new files from head From jkrell at elego.de Fri Nov 20 10:27:25 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:27:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120092725.ACE1D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:27:25 Modified files: cm3/m3-libs/m3core/src/win32/: Tag: release_branch_cm3_5_8 WinNT.i3 WinNTc.c m3makefile Log message: minor merge from head: m3_MemoryBarrier => WinNT__MemoryBarrier From jkrell at elego.de Fri Nov 20 10:39:57 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:39:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120093958.2E4F32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:39:57 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 Log message: ThreadF => ThreadInternal From jkrell at elego.de Fri Nov 20 11:19:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:19:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120101923.712C12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:19:23 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 RTSignal.m3 cm3/m3-libs/m3core/src/runtime/WIN32/: Tag: release_branch_cm3_5_8 RTOS.m3 cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTAllocator.m3 RTCollector.m3 RTHeapStats.m3 RTLinker.m3 cm3/m3-libs/m3core/src/runtime/ex_frame/: Tag: release_branch_cm3_5_8 RTExFrame.m3 RTException.m3 cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.i3 ThreadPosix.m3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 m3makefile cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 m3makefile Removed files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadUnsafe.i3 cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadInternal.i3 Log message: merge from head: ThreadF/ThreadUnsafe => ThreadInternal (except for ThreadF.MyId, Id, State) From jkrell at elego.de Fri Nov 20 11:31:35 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:31:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120103135.E64AE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:31:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTLinker.m3 RTLinkerX.i3 Log message: fix: ThreadF => ThreadInternal From jkrell at elego.de Fri Nov 20 11:46:02 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:46:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120104603.BEE63CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:46:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UtimeC.c m3unix.h Log message: merge from head: timespec_t => timespec_T to avoid warning due to newer Sun headers having the same typedef From jkrell at elego.de Fri Nov 20 11:51:09 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:51:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120105109.C1D992474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:51:09 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix newlines From jkrell at elego.de Fri Nov 20 11:54:22 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:54:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120105422.695A1CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:54:22 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: partial merge from head: for now just the added lines From jkrell at elego.de Fri Nov 20 12:15:55 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:15:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120111555.A4DF3CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:15:55 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix From jkrell at elego.de Fri Nov 20 12:22:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:22:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112230.60ADE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:22:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix for more premature merging From jkrell at elego.de Fri Nov 20 12:25:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:25:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112530.74756CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:25:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UnixC.c Usocket.c UtimeC.c Log message: more careful merging from head assert => M3_STATIC_ASSERT new assertions about times and sockets, not yet taken advantage of (head takes advantage of them, to reduce Usysdep.i3) From jkrell at elego.de Fri Nov 20 12:28:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:28:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112833.4BD262474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:28:33 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UtimeC.c Log message: altzone fix from head (based on Python -- subtract an hour) From hosking at elego.de Fri Nov 20 16:13:31 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 20 Nov 2009 16:13:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120151332.096DC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/20 16:13:31 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Does OpenBSD not report a reliable stack pointer for stopped threads? If not, then we have no way except to scan from sp to sp+size. What does this mean for FreeBSD? Is it just as broken? Yuck. From jkrell at elego.de Fri Nov 20 20:28:03 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:28:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120192803.30AA4CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:28:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: change tabs to spaces, for consistent rendering in editors that default to 4 space tabs From jkrell at elego.de Fri Nov 20 20:32:55 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:32:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193255.B03DA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:32:55 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: favor char* over void* it is more amenable to comparison and arithmetic, esp. w/o relying on gcc-isms and adding casts From jkrell at elego.de Fri Nov 20 20:34:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:34:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193446.BF27C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:34:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:37:56 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:37:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193757.0685ACC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:37:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:40:11 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:40:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120194011.B40A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:40:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:42:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120194251.57F9A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:42:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: twiddle between char* and void* more From hosking at cs.purdue.edu Fri Nov 20 20:37:07 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 20 Nov 2009 14:37:07 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091120192803.30AA4CC3BE@birch.elegosoft.com> References: <20091120192803.30AA4CC3BE@birch.elegosoft.com> Message-ID: i.e., broken editors. On 20 Nov 2009, at 20:28, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/20 20:28:03 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > change tabs to spaces, for consistent rendering in editors that > default to 4 space tabs -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 20 21:04:14 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:04:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120200414.E2D2C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:04:14 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add pthread_attr_destroy in the FreeBSD case see http://www.freebsd.org/cgi/man.cgi?query=pthread_attr_get_np&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html From jkrell at elego.de Fri Nov 20 21:28:00 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:28:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120202800.C563ACC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:28:00 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: eliminate more tabs From jkrell at elego.de Fri Nov 20 21:30:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:30:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120203043.06A162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:30:42 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: remove non-working M3_THREADS_USE_SIGALTSTACK_AND_JMPBUF for now for now stuck with non-portable jmpbuf groveling on OpenBSD From jay.krell at cornell.edu Fri Nov 20 22:06:01 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Fri, 20 Nov 2009 13:06:01 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091120151332.096DC2474001@birch.elegosoft.com> References: <20091120151332.096DC2474001@birch.elegosoft.com> Message-ID: The FreeBSD and OpenBSD interfaces seem different enough such that worry does not transfer? "stack" vs. "stackseg"? Besides FreeBSD being more mainstream? Besides checking Java (OpenBSD) and Boehm? OpenBSD interface does not even seem to offer what we want? For some definition of "top" of stack? Ie "the highest address"?? Seems odd. - Jay (phone) On Nov 20, 2009, at 4:13 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/11/20 16:13:31 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > Does OpenBSD not report a reliable stack pointer for stopped > threads? If not, > then we have no way except to scan from sp to sp+size. > > What does this mean for FreeBSD? Is it just as broken? Yuck. > > From hosking at elego.de Fri Nov 20 22:19:01 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 20 Nov 2009 22:19:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120211901.61ECACC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/20 22:19:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Let's try this for OpenBSD stackseg brokenness. From rcoleburn at elego.de Sat Nov 21 00:01:04 2009 From: rcoleburn at elego.de (Randy Coleburn) Date: Sat, 21 Nov 2009 0:01:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120230105.982F2CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rcoleburn at birch. 09/11/21 00:01:03 Added files: cm3/m3-sys/m3tests/src/p2/p213/: Main.m3 m3makefile stderr.build stderr.pgm stdout.build stdout.pgm Log message: Add new test folder, p213, and files for "Mutex Checker" test program.--Randy Coleburn From rcoleburn at elego.de Sat Nov 21 00:01:57 2009 From: rcoleburn at elego.de (Randy Coleburn) Date: Sat, 21 Nov 2009 0:01:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120230158.15D3ECC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rcoleburn at birch. 09/11/21 00:01:57 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: Add p213 test case for new "Mutex Checker" test program.--Randy Coleburn From jkrell at elego.de Sat Nov 21 11:53:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:53:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105317.5B4772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:53:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: MyFPState, MyHeapState, SetSwitchingInterval, DisableSwitching, EnableSwitching From jkrell at elego.de Sat Nov 21 11:57:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:57:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105705.EE60C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:57:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState, MyHeapState, SetSwitchingInterval, DisableSwitching, EnableSwitching From jkrell at elego.de Sat Nov 21 11:59:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:59:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105904.ABD892474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:59:04 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState From jkrell at elego.de Sat Nov 21 20:06:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:06:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121190659.912EBCC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:06:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: merge from head: make the static mutexes and condition variables variables instead of pairs of functions From jkrell at elego.de Sat Nov 21 20:09:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:09:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121190901.E3DBCCC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:09:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: merge from head: make the static mutexes and condition variables variables instead of functions From jkrell at elego.de Sat Nov 21 20:16:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:16:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121191634.D54B2CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:16:34 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: merge from head: no more use of Upthread (define things locally) From jkrell at elego.de Sat Nov 21 20:18:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:18:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121191829.99269CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:18:29 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: just always use 'THREAD_LOCAL_SLOW' From jkrell at elego.de Sat Nov 21 20:20:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:20:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192017.BF65C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:20:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: slotMu vs. slotsMu From jkrell at elego.de Sat Nov 21 20:21:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:21:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192148.C09472474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:21:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: just always use 'THREAD_LOCAL_SLOW' From jkrell at elego.de Sat Nov 21 20:22:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:22:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192229.4DD5D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:22:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: slotMu vs. slotsMu (comment only) From jkrell at elego.de Sat Nov 21 20:23:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:23:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192354.EE4512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:23:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: remove extra #define ZeroMemory From jkrell at elego.de Sat Nov 21 20:25:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:25:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192544.C97512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:25:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 Log message: merge from head: wrap pthread_mutex_lock and pthread_mutex_unlock in C From jkrell at elego.de Sat Nov 21 20:28:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:28:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192843.5DEA12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:28:42 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: merge from head: use local wrappers instead of Upthread From jkrell at elego.de Sat Nov 21 20:33:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:33:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193351.D99002474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:33:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: COPY wholesale from head including use pthread_suspend/resume_np on FreeBSD instead of signal/semaphore (and pthread_attr_getstack) similar attempts on OpenBSD, but it doesn't work movement of C and assembly code (esp. for Apple and Solaris) From jkrell at elego.de Sat Nov 21 20:35:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:35:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193528.761BECC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:35:27 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: #error for OpenBSD, it doesn't work and anyone working on it can remove the #error From jkrell at elego.de Sat Nov 21 20:37:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:37:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193711.8AE0F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:37:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: just dump all the OpenBSD code From jkrell at elego.de Sat Nov 21 20:38:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:38:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193834.CD886CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:38:32 Modified files: cm3/m3-libs/m3core/src/: Tag: release_branch_cm3_5_8 thread.quake Log message: switch OpenBSD/x86 to user threads (which need to be merged/copied as well) From jkrell at elego.de Sat Nov 21 20:41:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:41:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121194103.A24702474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:41:03 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.h ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: COPY wholesale from head From jkrell at elego.de Sat Nov 21 20:57:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:57:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121195721.46414CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:57:21 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NT386GNU/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile Log message: COPY from head removal of various user threading support most of this had to do with poking jmp_buf just right, but we now use get/set/make/swapcontext instead which abstracts that, except for OpenBSD (and possibly old Darwin) where we do the work in #ifdef'ed C also manually compute numbers instead of using Word.Shift deletes to follow From jkrell at elego.de Sat Nov 21 21:06:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:06:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121200616.882762474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:06:16 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove SetSwitchingInterval From jkrell at elego.de Sat Nov 21 21:24:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:24:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202402.A97282474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:24:02 Removed files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachineASM.s RTThreadC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachineASM.s RTThreadC.c cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTThreadC.c Log message: copy from head: delete all the RTThreadC.c files delete SOLgnu/RTMachineASM.s (moved into RTStackC.c) delete SOLsun/RTMachineASM.s (moved into RTStackC.c) From jkrell at elego.de Sat Nov 21 21:28:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:28:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202841.BEF0B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:28:41 Removed files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTThread.m3 Log message: copy from head: delete all RTThread.m3 files From jkrell at elego.de Sat Nov 21 21:29:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:29:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202928.B92462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:29:28 Removed files: cm3/m3-libs/m3core/src/runtime/HPPA/: RTThread.m3.sav Log message: delete another RTThread.m3 From jkrell at elego.de Sat Nov 21 21:29:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:29:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202957.F194D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:29:57 Removed files: cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThread.m3.sav Log message: delete another RTThread.m3 From jkrell at elego.de Sat Nov 21 21:45:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:45:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204533.D0B802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:45:32 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/novm/: m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: m3makefile cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: m3makefile cm3/m3-libs/m3core/src/runtime/SPARC/: m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: m3makefile Log message: make RTMachine private on all platforms notice it already was on SOLgnu/SOLsun From jkrell at elego.de Sat Nov 21 21:47:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:47:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204723.B38FE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:47:23 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/novm/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NT386GNU/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 m3makefile Log message: make RTMachine private on all platforms it already was on SOLsun/SOLgnu From jkrell at elego.de Sat Nov 21 21:48:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:48:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204858.6B52C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:48:58 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 m3makefile Log message: remove RTThread and RTThreadStk From jkrell at elego.de Sat Nov 21 21:50:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:50:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121205048.10D882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:50:48 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 RTMachine.i3 Log message: COPY from head From jkrell at elego.de Sat Nov 21 21:52:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:52:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121205212.4BDE32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:52:12 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 m3makefile Log message: COPY from head, I thought I got this earlier From jkrell at elego.de Sun Nov 22 00:54:52 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 0:54:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121235452.E67022474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 00:54:52 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTStackC.c Log message: copy from head; will change more later, once things back to working From jkrell at elego.de Sun Nov 22 01:08:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 1:08:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122000833.70B56CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 01:08:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: fix parameter order to pthread_cond_wait -- cond then mu, not mu then cond, Solaris nicely fails an assert on this exact line From jkrell at elego.de Sun Nov 22 01:10:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 1:10:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122001053.8E57A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 01:10:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: copy from release: fix parameter order to pthread_cond_wait -- cond then mu, not mu then cond, Solaris nicely fails an assert on this exact line From jkrell at elego.de Sun Nov 22 02:39:09 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 2:39:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122013910.213A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 02:39:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: This should fix SOLsun. Sun cc doesn't support asm outside of functions. Rather than fight assembly details, use setjmp/longjmp. From jkrell at elego.de Sun Nov 22 03:07:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:07:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122020715.B6899CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:07:15 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: assembly outside a function doesn't work with Sun cc, use setjmp/longjmp instead From jkrell at elego.de Sun Nov 22 03:07:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:07:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122020756.2AC8A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:07:56 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: comments From jkrell at elego.de Sun Nov 22 03:15:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:15:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122021512.B3EF1CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:15:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix confusing code -- missing brace From jkrell at elego.de Sun Nov 22 03:21:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:21:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122022119.C9E152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:21:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: split into two implementations to avoid confusing #if in the middle of code From jkrell at elego.de Sun Nov 22 03:22:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:22:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122022222.E1C142474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:22:22 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: restore optimzation based on existing setjmp From jkrell at elego.de Sun Nov 22 03:35:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:35:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122023520.4CDE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:35:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: restructure slightly to share code, and avoid double scan of registers on sparc (seems applicable on all architectures, really) From hosking at cs.purdue.edu Sun Nov 22 04:16:22 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 21 Nov 2009 22:16:22 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122013910.213A52474001@birch.elegosoft.com> References: <20091122013910.213A52474001@birch.elegosoft.com> Message-ID: <6E22B7A1-48DE-4FFF-B35B-FE8286919F4C@cs.purdue.edu> Are you sure this does the right thing? The address of the jmpbuf may not be a sufficiently placed stack pointer. On 22 Nov 2009, at 02:39, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/22 02:39:09 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > This should fix SOLsun. > Sun cc doesn't support asm outside of functions. > Rather than fight assembly details, use setjmp/longjmp. From hosking at cs.purdue.edu Sun Nov 22 04:16:58 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 21 Nov 2009 22:16:58 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122020715.B6899CC3C0@birch.elegosoft.com> References: <20091122020715.B6899CC3C0@birch.elegosoft.com> Message-ID: Huh? I think it does work. On 22 Nov 2009, at 03:07, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/22 03:07:15 > > Modified files: > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > > Log message: > assembly outside a function doesn't work with Sun cc, use setjmp/longjmp instead -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 22 04:58:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 4:58:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122035850.1CAB82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 04:58:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: ignore the SOLsun issue for now From jkrell at elego.de Sun Nov 22 05:00:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:00:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040050.8E9902474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:00:50 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: copy from head: affect is to remove OpenBSD support and twiddle the sparc stuff inconsequentially (comments and reordering that doesn't matter); still ignoring SOLsun, until everything else works From jkrell at elego.de Sun Nov 22 05:04:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:04:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040435.5122D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:04:34 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: mainly: #if defined(__ppc__) || defined(__ppc64__) #include #endif and small tweaks From jkrell at elego.de Sun Nov 22 05:05:36 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:05:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040537.245B82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:05:36 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: copy from head, for #include From jkrell at elego.de Sun Nov 22 05:11:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:11:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122041149.369732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:11:48 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: add MyFPState From jkrell at elego.de Sun Nov 22 05:12:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:12:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122041253.B440ACC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:12:53 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: add ProcessEachStack (that just asserts false) From jkrell at elego.de Sun Nov 22 06:06:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 6:06:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122050648.E478E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 06:06:47 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: import FloatMode From jkrell at elego.de Sun Nov 22 08:20:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 8:20:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122072024.B9C462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 08:20:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadContext.i3 Log message: flatten namespace by using FROM Foo IMPORT Bar instead of just IMPORT Foo and then use Foo.Bar From jkrell at elego.de Sun Nov 22 10:19:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:19:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122091918.333BE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:19:17 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Win32 ProcessStacks had a hack where if the stack pointer was more than 10K below the stack top, it would use VirtualQuery to ensure the pages are readable. The comment was that this was to workaround Windows 95 sometimes returning incorrect stack pointers. While I'm not testing Windows 95 here, and I should, modify the code like so: At thread creation (and special case first thread), compute the stack bounds accurately. (again, only tested on NT) Move GetThreadContext from ProcessStacks to SuspendOthers. When we GetThreadContext, if the stack is not in bounds, treat it like a "busy" thread and resume it and try again later. NOTE that GetThreadContext is documented as not working on the current thread, but the previous code did exactly that. Perhaps that was the problem? The current thread's stack pointer is trivial to compute of course, no need for GetThreadContext. Testing is advised on Win9x, though I personally haven't run that in years and hardly ever did. In the previous code, see of course ProcessStacks, and VerifySP. This likely had the affect as well of, when the stack went beyond 10K, to round the stack pointer down to the next page, scanning a little extra garbage (which if you consider that "most objects die young", probably had a good chance of causing retention of otherwise garbage? But I have no data.) (Nice side effect here, of course, is decreased dependency on cloned headers, since I always strive to use C to interact with the underlying system that is described with C headers.) Unfortunate side affect here is increased memory use because the CONTEXT is now in Activation, in order to get from SuspendOthers to ProcessStacks. We might do better to allocate an array of CONTEXT in SuspendOthers. We might do better also to use a "mini context" since we only use a small fraction of the context (just the control and integer registers, not the rather larger floating point state nor the segment registers, debug registers, status flags, etc. since they can't contain pointers.. or can they? well, not with our backend..hm) Furthermore, of course, we should abstract this code to not be so x86 specific. With this change, the stack bounds are very well known, and the "end" value is "just past the end", the first byte of the first page after the stack. It might be wise to subtract one from this. Previously we used an approximate end of stack that pointed to an actual untraced value on the stack. NoteStackLocations does subtract ADRSIZE(ADDRESS) though. Note that ThreadPosix.m3 could also implement such precise stackbase. ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. From jay.krell at cornell.edu Sun Nov 22 10:21:35 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 09:21:35 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122091918.333BE2474001@birch.elegosoft.com> References: <20091122091918.333BE2474001@birch.elegosoft.com> Message-ID: cvsweb is a pain imho, so diff attached > Date: Sun, 22 Nov 2009 10:19:17 +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/11/22 10:19:17 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 > ThreadWin32.m3 > ThreadWin32C.c > > Log message: > Win32 ProcessStacks had a hack where if the stack pointer was > more than 10K below the stack top, it would use VirtualQuery > to ensure the pages are readable. > > The comment was that this was to workaround Windows 95 sometimes > returning incorrect stack pointers. > > While I'm not testing Windows 95 here, and I should, modify the code > like so: > > At thread creation (and special case first thread), compute > the stack bounds accurately. (again, only tested on NT) > > Move GetThreadContext from ProcessStacks to SuspendOthers. > > When we GetThreadContext, if the stack is not in bounds, > treat it like a "busy" thread and resume it and try again later. > > NOTE that GetThreadContext is documented as not working > on the current thread, but the previous code did > exactly that. Perhaps that was the problem? > > The current thread's stack pointer is trivial to compute of course, > no need for GetThreadContext. > > Testing is advised on Win9x, though I personally > haven't run that in years and hardly ever did. > > In the previous code, see of course ProcessStacks, and VerifySP. > This likely had the affect as well of, when the stack went > beyond 10K, to round the stack pointer down to the next page, > scanning a little extra garbage (which if you consider > that "most objects die young", probably had a good chance > of causing retention of otherwise garbage? But I have no data.) > > (Nice side effect here, of course, is decreased dependency on cloned headers, > since I always strive to use C to interact with the underlying system > that is described with C headers.) > > Unfortunate side affect here is increased memory use because > the CONTEXT is now in Activation, in order to get from > SuspendOthers to ProcessStacks. > > We might do better to allocate an array of CONTEXT in SuspendOthers. > > We might do better also to use a "mini context" since we only use > a small fraction of the context (just the control and integer registers, > not the rather larger floating point state nor the segment registers, > debug registers, status flags, etc. since they can't contain pointers.. > or can they? well, not with our backend..hm) > > Furthermore, of course, we should abstract this code to not be so x86 specific. > > With this change, the stack bounds are very well known, and the "end" > value is "just past the end", the first byte of the first page after the stack. > It might be wise to subtract one from this. > > Previously we used an approximate end of stack that pointed to an actual untraced > value on the stack. > > NoteStackLocations does subtract ADRSIZE(ADDRESS) though. > > Note that ThreadPosix.m3 could also implement such precise stackbase. > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 2.txt URL: From jkrell at elego.de Sun Nov 22 10:43:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:43:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122094324.4F06A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:43:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move just a few comments around slightly to be on same line as what they are describing (this area about to change more, to more resemble pthread implementation) From jkrell at elego.de Sun Nov 22 10:46:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:46:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122094617.C01EC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:46:17 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: a little more reformating of comments for readability From jkrell at elego.de Sun Nov 22 10:55:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:55:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122095530.C097F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:55:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: adjust LL comments to describe what I believe is acceptable reality: handle, stackStart, stackEnd not locked, on neither read nor write (it is common to make a mistake where only writes are locked) From jkrell at elego.de Sun Nov 22 11:24:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 11:24:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122102445.147052474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 11:24:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: adjust LL comments to describe what I believe is acceptable reality: closure and result are not locked; completed is only ever written and never read so remove it (larger effort here is to unify a lot with pthread, esp. what is in T vs. Activation) From jkrell at elego.de Sun Nov 22 12:11:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:11:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122111127.DFD552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:11:27 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Like pthreads, switch from functions to variables for the static locks. (pthreads also has a static cond, we don't) Instead of using either Win32 "critical section" or pthread "mutex" vocabulary, use Lock(Lock_t), Unlock(Lock_t), slotLock, heapLock, etc. Also add NewLock and DeleteLock, not yet used. From jkrell at elego.de Sun Nov 22 12:12:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:12:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122111229.147312474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:12:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add const on the static locks/conditions From jkrell at elego.de Sun Nov 22 12:38:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:38:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122113845.047802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:38:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: SetActivation == TlsSetValue_threadIndex GetActivation == TlsGetValue_threadIndex (pthreads doesn't do this but probably should) From jkrell at elego.de Sun Nov 22 12:39:38 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:39:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122113938.D92DA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:39:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: remove incorrect comment (Set is not called frequently, only Get is) From jkrell at elego.de Sun Nov 22 12:43:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:43:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122114342.E41BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:43:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 Log message: don't capitalize or period comments that aren't sentences esp. one that I just changed From jay.krell at cornell.edu Sun Nov 22 12:41:19 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 11:41:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122113845.047802474001@birch.elegosoft.com> References: <20091122113845.047802474001@birch.elegosoft.com> Message-ID: diff attached (cvsweb stinks..) > Date: Sun, 22 Nov 2009 12:38: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/11/22 12:38:43 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 > ThreadWin32.m3 > ThreadWin32C.c > > Log message: > SetActivation == TlsSetValue_threadIndex > GetActivation == TlsGetValue_threadIndex > (pthreads doesn't do this but probably should) > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 1.txt URL: From hosking at cs.purdue.edu Sun Nov 22 19:41:26 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 13:41:26 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122091918.333BE2474001@birch.elegosoft.com> References: <20091122091918.333BE2474001@birch.elegosoft.com> Message-ID: <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> > Note that ThreadPosix.m3 could also implement such precise stackbase. ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. From jay.krell at cornell.edu Sun Nov 22 22:53:44 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 21:53:44 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> Message-ID: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 22 23:16:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:16:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122221622.999732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:16:22 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: #if defined(__APPLE__) && defined(__i386__) && !defined(_XOPEN_SOURCE) /* http://tinderbox.elegosoft.com/tinderbox/cgi-bin/gunzip.cgi?tree=cm3&brief-log=1258879870.10595#err9 */ /* /usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined */ /* expand #if to allow more architecures as they are discovered/tested, probably just allow all */ #define _XOPEN_SOURCE #endif From jkrell at elego.de Sun Nov 22 23:30:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:30:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122223058.C45402474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:30:58 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: signal.h suffices on all Darwin architectures, at least with the ppc/ppc64/x86/amd64 cross compilers on my current system From jkrell at elego.de Sun Nov 22 23:33:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:33:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122223311.B0D792474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:33:11 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: copy from head to address #error on some Apple environments (don't #include ucontext.h, signal.h suffices) From jkrell at elego.de Mon Nov 23 00:29:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:29:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122232903.D90902474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:29:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix pthread_mutex_unlock wrapper, duh! From jkrell at elego.de Mon Nov 23 00:33:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:33:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122233325.8883D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:33:25 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: copy from head: add const and return the pthread_unlock_mutex return value (!) (fixes Solaris but is a general bug) From hosking at cs.purdue.edu Mon Nov 23 00:52:31 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 18:52:31 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> Message-ID: <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 23 00:53:06 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:53:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235307.9A6552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:53:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: make it work with more compiler/header versions consider moving initialization and cleanup into DllMain in particular, this lets us propagate failures, which are possible but the problem is that executables don't have DllMain (tls callbacks?) From jkrell at elego.de Mon Nov 23 00:53:42 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:53:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235343.0A9152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:53:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: better compiler compat? From jkrell at elego.de Mon Nov 23 00:54:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:54:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235404.E8DE42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:54:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: better compiler compat? From jkrell at elego.de Mon Nov 23 01:01:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:01:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123000148.A600D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:01:48 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: slight hypothetical unify with pthread -- just rename CRITSEC to LOCK and copy two comments From jay.krell at cornell.edu Mon Nov 23 01:19:36 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 23 Nov 2009 00:19:36 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: You think I should just leave Win32 using the same method? No point scanning past that? I think, as I was saying the other day, there is a slight danger in the current code. Imagine an aggressive optimizer inlines RunThread into ThreadBase. I think when I manually inlined it I caused just such breakage. We need <*NOINLINE*>? - Jay Subject: Re: [M3commit] CVS Update: cm3 From: hosking at cs.purdue.edu Date: Sun, 22 Nov 2009 18:52:31 -0500 CC: jkrell at elego.de; m3commit at elegosoft.com To: jay.krell at cornell.edu It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 01:29:52 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 23 Nov 2009 00:29:52 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: Maybe: RunThread: if stack_grows_down stackbase = ADR(self) else stackbase = ADR(self) + BYTESIZE(self) Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds described the above? - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Mon, 23 Nov 2009 00:19:36 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 You think I should just leave Win32 using the same method? No point scanning past that? I think, as I was saying the other day, there is a slight danger in the current code. Imagine an aggressive optimizer inlines RunThread into ThreadBase. I think when I manually inlined it I caused just such breakage. We need <*NOINLINE*>? - Jay Subject: Re: [M3commit] CVS Update: cm3 From: hosking at cs.purdue.edu Date: Sun, 22 Nov 2009 18:52:31 -0500 CC: jkrell at elego.de; m3commit at elegosoft.com To: jay.krell at cornell.edu It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 23 01:45:12 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:45:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123004512.9FE732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:45:12 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: go back to asserting success for now, since the Modula-3 code doesn't and we can fail here under very low resources From jkrell at elego.de Mon Nov 23 01:46:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:46:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123004627.415A72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:46:26 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: cleanup From hosking at cs.purdue.edu Mon Nov 23 02:03:46 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 20:03:46 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: On 22 Nov 2009, at 19:19, Jay K wrote: > You think I should just leave Win32 using the same method? > No point scanning past that? Right. > I think, as I was saying the other day, there is a slight danger in the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. Yeah, could be a problem. > We need <*NOINLINE*>? Perhaps, though there are ways to avoid inlining, like passing assigning the procedure (address) to a global. > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 23 02:04:38 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 20:04:38 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> On 22 Nov 2009, at 19:29, Jay K wrote: > Maybe: > > RunThread: > if stack_grows_down > stackbase = ADR(self) > else > stackbase = ADR(self) + BYTESIZE(self) > > Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? We don't know that... In fact, we assume that the backend will have traced pointers in regs. > Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds > described the above? > > - Jay > > From: jay.krell at cornell.edu > To: hosking at cs.purdue.edu > Date: Mon, 23 Nov 2009 00:19:36 +0000 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You think I should just leave Win32 using the same method? > No point scanning past that? > > I think, as I was saying the other day, there is a slight danger in the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. > > We need <*NOINLINE*>? > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 03:12:48 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Sun, 22 Nov 2009 18:12:48 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: <4C0C6034-DDA0-44B8-8381-FB3BEE4DAADA@hotmail.com> These concerns make we feel more comfortable with the approach of finding the entire stack bounds (er, the accurate top; bottom is dynamic). There isn't a portable way to do this but there are various pthread_np. - Jay (phone) On Nov 22, 2009, at 4:29 PM, Jay K wrote: > Maybe: > > RunThread: > if stack_grows_down > stackbase = ADR(self) > else > stackbase = ADR(self) + BYTESIZE(self) > > Do we know the backend won't introduce local temporaries on the > stack that contain traced pointers? > Or, like, if there are traced temporaries in registers..they could > be spilled to the stack..and not within the bounds > described the above? > > - Jay > > From: jay.krell at cornell.edu > To: hosking at cs.purdue.edu > Date: Mon, 23 Nov 2009 00:19:36 +0000 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You think I should just leave Win32 using the same method? > No point scanning past that? > > I think, as I was saying the other day, there is a slight danger in > the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. > > We need <*NOINLINE*>? > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold > a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX > \ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise > stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained > from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions > on OpenBSD (broken) and FreeBSD, etc. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 11:58:39 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Mon, 23 Nov 2009 02:58:39 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> Message-ID: Traced in regs is ok. The question is if they can spill to beyond the part of the stack we scan. Again, imagine if RunThread gets inlined into ThreadBase. That is possible and could easily break us, right? - Jay (phone) On Nov 22, 2009, at 5:04 PM, Tony Hosking wrote: > On 22 Nov 2009, at 19:29, Jay K wrote: > >> Maybe: >> >> RunThread: >> if stack_grows_down >> stackbase = ADR(self) >> else >> stackbase = ADR(self) + BYTESIZE(self) >> >> Do we know the backend won't introduce local temporaries on the >> stack that contain traced pointers? > > We don't know that... > In fact, we assume that the backend will have traced pointers in regs. > >> Or, like, if there are traced temporaries in registers..they could >> be spilled to the stack..and not within the bounds >> described the above? >> >> - Jay >> >> From: jay.krell at cornell.edu >> To: hosking at cs.purdue.edu >> Date: Mon, 23 Nov 2009 00:19:36 +0000 >> CC: m3commit at elegosoft.com >> Subject: Re: [M3commit] CVS Update: cm3 >> >> You think I should just leave Win32 using the same method? >> No point scanning past that? >> >> I think, as I was saying the other day, there is a slight danger in >> the current code. >> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >> I think when I manually inlined it I caused just such breakage. >> >> We need <*NOINLINE*>? >> >> - Jay >> >> Subject: Re: [M3commit] CVS Update: cm3 >> From: hosking at cs.purdue.edu >> Date: Sun, 22 Nov 2009 18:52:31 -0500 >> CC: jkrell at elego.de; m3commit at elegosoft.com >> To: jay.krell at cornell.edu >> >> It is precise re traced refs. That's the lowest frame that can >> hold a traced reference. >> >> On 22 Nov 2009, at 16:53, Jay K wrote: >> >> The end of the stack isn't precise: >> >> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX >> \ThreadPosix.m3(1058): self.stackbase := ADR(xx); >> >> "stack" here: >> >> void >> ProcessContext(Context *c, void *stack, >> void (*p) (void *start, void *stop)) >> { >> if (stack < c->uc.uc_stack.ss_sp) >> p(stack, c->uc.uc_stack.ss_sp); >> else >> p(c->uc.uc_stack.ss_sp, stack); >> #ifdef __APPLE__ >> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >> #else >> p(&c[0], &c[1]); >> #endif >> } >> >> - Jay >> >> >> > From: hosking at cs.purdue.edu >> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >> > To: jkrell at elego.de >> > CC: m3commit at elegosoft.com >> > Subject: Re: [M3commit] CVS Update: cm3 >> > >> > > Note that ThreadPosix.m3 could also implement such precise >> stackbase. >> > >> > ThreadPosix *does* implement a precise stack base. It's obtained >> from the ucontext set in the thread switch routine (swapcontext). >> > >> > > ThreadPThread.m3 probably often could, like with the functions >> on OpenBSD (broken) and FreeBSD, etc. >> > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 12:09:17 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Mon, 23 Nov 2009 03:09:17 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: (somewhat out of order sorry) Assiging function to pointer variable will keep an uninlined copy, possibly (if the variable is ever read!) but would not force specific direct calls to not be inlined. Competing with optimizers is an "arms race". You can escalate e.g. by putting stuff in seperate files, but then there are systems with cross file optimization. We can avoid that by not using whatever compiler switches. Really, actually, I almost never test optimized. "arms race" You often win by instead "cooperating". Introduce "noinline" and communicate it down. Microsoft Visual C++ has such a feature and I generally believe its extensions are often not always well-informed and worth considering. Most code doesn't care, let the compiler do whatever it can think of, but sometimes some code is very special/careful. Again though an accurate stack bound may help much. I'll look into it. - Jay (phone) On Nov 22, 2009, at 5:03 PM, Tony Hosking wrote: > > On 22 Nov 2009, at 19:19, Jay K wrote: > >> You think I should just leave Win32 using the same method? >> No point scanning past that? > > Right. > >> I think, as I was saying the other day, there is a slight danger >> in the current code. >> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >> I think when I manually inlined it I caused just such breakage. > > Yeah, could be a problem. > >> We need <*NOINLINE*>? > > Perhaps, though there are ways to avoid inlining, like passing > assigning the procedure (address) to a global. > >> >> - Jay >> >> Subject: Re: [M3commit] CVS Update: cm3 >> From: hosking at cs.purdue.edu >> Date: Sun, 22 Nov 2009 18:52:31 -0500 >> CC: jkrell at elego.de; m3commit at elegosoft.com >> To: jay.krell at cornell.edu >> >> It is precise re traced refs. That's the lowest frame that can >> hold a traced reference. >> >> On 22 Nov 2009, at 16:53, Jay K wrote: >> >> The end of the stack isn't precise: >> >> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX >> \ThreadPosix.m3(1058): self.stackbase := ADR(xx); >> >> "stack" here: >> >> void >> ProcessContext(Context *c, void *stack, >> void (*p) (void *start, void *stop)) >> { >> if (stack < c->uc.uc_stack.ss_sp) >> p(stack, c->uc.uc_stack.ss_sp); >> else >> p(c->uc.uc_stack.ss_sp, stack); >> #ifdef __APPLE__ >> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >> #else >> p(&c[0], &c[1]); >> #endif >> } >> >> - Jay >> >> >> > From: hosking at cs.purdue.edu >> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >> > To: jkrell at elego.de >> > CC: m3commit at elegosoft.com >> > Subject: Re: [M3commit] CVS Update: cm3 >> > >> > > Note that ThreadPosix.m3 could also implement such precise >> stackbase. >> > >> > ThreadPosix *does* implement a precise stack base. It's obtained >> from the ucontext set in the thread switch routine (swapcontext). >> > >> > > ThreadPThread.m3 probably often could, like with the functions >> on OpenBSD (broken) and FreeBSD, etc. >> > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Nov 23 20:10:28 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 23 Nov 2009 20:10:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123191028.CAFA0CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/23 20:10:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Log message: Use brands to enforce type separation between various opaque C-level pthread types. From hosking at cs.purdue.edu Mon Nov 23 21:19:09 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 23 Nov 2009 15:19:09 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> Message-ID: <9C87294E-C98A-4892-BA8B-FEE028718199@cs.purdue.edu> I guess it is possible, though it would only be problematic for self in RunThread if it got allocated outside the range of xx (i.e., below xx in the stack) in ThreadBase. Unlikely... On 23 Nov 2009, at 05:58, jay.krell at cornell.edu wrote: > Traced in regs is ok. The question is if they can spill to beyond the part of the stack we scan. Again, imagine if RunThread gets inlined into ThreadBase. That is possible and could easily break us, right? > > - Jay (phone) > > On Nov 22, 2009, at 5:04 PM, Tony Hosking wrote: > >> On 22 Nov 2009, at 19:29, Jay K wrote: >> >>> Maybe: >>> >>> RunThread: >>> if stack_grows_down >>> stackbase = ADR(self) >>> else >>> stackbase = ADR(self) + BYTESIZE(self) >>> >>> Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? >> >> We don't know that... >> In fact, we assume that the backend will have traced pointers in regs. >> >>> Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds >>> described the above? >>> >>> - Jay >>> >>> From: jay.krell at cornell.edu >>> To: hosking at cs.purdue.edu >>> Date: Mon, 23 Nov 2009 00:19:36 +0000 >>> CC: m3commit at elegosoft.com >>> Subject: Re: [M3commit] CVS Update: cm3 >>> >>> You think I should just leave Win32 using the same method? >>> No point scanning past that? >>> >>> I think, as I was saying the other day, there is a slight danger in the current code. >>> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >>> I think when I manually inlined it I caused just such breakage. >>> >>> We need <*NOINLINE*>? >>> >>> - Jay >>> >>> Subject: Re: [M3commit] CVS Update: cm3 >>> From: hosking at cs.purdue.edu >>> Date: Sun, 22 Nov 2009 18:52:31 -0500 >>> CC: jkrell at elego.de; m3commit at elegosoft.com >>> To: jay.krell at cornell.edu >>> >>> It is precise re traced refs. That's the lowest frame that can hold a traced reference. >>> >>> On 22 Nov 2009, at 16:53, Jay K wrote: >>> >>> The end of the stack isn't precise: >>> >>> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); >>> >>> "stack" here: >>> >>> void >>> ProcessContext(Context *c, void *stack, >>> void (*p) (void *start, void *stop)) >>> { >>> if (stack < c->uc.uc_stack.ss_sp) >>> p(stack, c->uc.uc_stack.ss_sp); >>> else >>> p(c->uc.uc_stack.ss_sp, stack); >>> #ifdef __APPLE__ >>> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >>> #else >>> p(&c[0], &c[1]); >>> #endif >>> } >>> >>> - Jay >>> >>> >>> > From: hosking at cs.purdue.edu >>> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >>> > To: jkrell at elego.de >>> > CC: m3commit at elegosoft.com >>> > Subject: Re: [M3commit] CVS Update: cm3 >>> > >>> > > Note that ThreadPosix.m3 could also implement such precise stackbase. >>> > >>> > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). >>> > >>> > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. >>> > >>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Nov 24 10:24:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:24:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124092443.9F9352474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:24:43 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: address ucontext deprecation (presumably in Snow Leopard, the break is on a Darwin 10.0.0 machine, I have Darwin 9.8.0 Leopard) just with #define _XOPEN_SOURCE (Do we need to consider another way? Probably not.) From jkrell at elego.de Tue Nov 24 10:31:40 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:31:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124093140.C47D92474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:31:40 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: copy from head to address ucontext deprecation on Snow Leopard? (they give and they take away, these APIs were only added in 10.4 or 10.5, and then deprecated in 10.6; make up your minds..) From jkrell at elego.de Tue Nov 24 10:39:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:39:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124093957.7638BCC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:39:56 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: per http://duriansoftware.com/joe/PSA:-avoiding-the-%22ucontext-routines-are-deprecated%22-error-on-Mac-OS-X-Snow-Leopard.html #include sys/ucontext.h on Darwin instead of ucontext.h We aren't actually after the deprecated ucontext functions, but the (apparently) non-deprecated ucontext data structures From jkrell at elego.de Tue Nov 24 10:41:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:41:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124094106.9963BCC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:41:06 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: copy from release branch: use sys/ucontext.h on Darwin instead of ucontext.h + #define _XOPEN_SOURCE From jkrell at elego.de Tue Nov 24 12:43:44 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 12:43:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124114344.D136C2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 12:43:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: rename pthread_getspecific_activations to GetActivation (called many times) (matches Win32) rename pthread_setspecific_activations to SetActivation (called twice) (matches Win32) leave pthread_key_create_activations alone (called once) (Win32 does the initialization in InitC) (I thought I had already commited this) From jkrell at elego.de Tue Nov 24 12:45:03 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 12:45:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124114504.47AA9CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 12:45:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix warning about unterminated character constant in comment: don't => do not From jkrell at elego.de Tue Nov 24 13:29:26 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:29:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124122926.D8550CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:29:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: replace gnarly assembly with setjmp/longjmp prepare to callback just once instead of separately for registers and stack Please review. From jkrell at elego.de Tue Nov 24 13:35:14 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:35:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124123517.D49D62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:35:14 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c Log message: replace gnarly assembly with setjmp/longjmp From jkrell at elego.de Tue Nov 24 13:38:46 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:38:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124123846.7E6B52474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:38:46 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: remove unused locals (fix gcc -Wall) From jkrell at elego.de Wed Nov 25 13:20:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:20:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125122039.58BD72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:20:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: move frame to the start to try to get it to be offset 0, in case that is more efficient, since it is overwhelmingly the most often access field (for every function with try or lock, well, maybe lock related stuff competes in frequency) From jkrell at elego.de Wed Nov 25 13:26:44 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:26:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125122644.C0E3A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:26:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: reformat field comments to be on the same line as the field, the resulting lines may be a bit long but on a wide screen the result seems far more readable than either alternative (unless a lot more vertical space is used to separate fields) From jkrell at elego.de Wed Nov 25 13:31:58 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:31:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123158.128A72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:31:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: add some LL and LL-ish comments (LL-ish like "write-once in function Foo") This is just from a quick scan of the code and hopefully correct. Actual code not changed. + mutex: pthread_mutex_t := NIL; (* write-once in CreateT *) + cond: pthread_cond_t := NIL; (* write-once in CreateT; a place to park while waiting *) + alerted : BOOLEAN := FALSE; (* LL = mutex; the alert flag *) + waitingOn: pthread_mutex_t := NIL; (* LL = mutex; The CV's mutex *) + nextWaiter: Activation := NIL; (* LL = mutex; queue of threads waiting on the same CV *) From jkrell at elego.de Wed Nov 25 13:32:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:32:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123259.5AA412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:32:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: MyFPState should return floatState, not heapState, oops! From jkrell at elego.de Wed Nov 25 13:34:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:34:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123420.500D52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:34:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState should return floatState not heapState! From hosking at elego.de Wed Nov 25 19:23:32 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:23:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125182332.F0449CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:23:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Clean up a bunch of things. Move stack_grows_down into C. I'm still dubious about elimination of SaveRegsInStack for SPARC. Jay, you'll really need to confirm that all is OK. From hosking at elego.de Wed Nov 25 19:27:51 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:27:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125182751.9E7B12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:27:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Lift out common static variables stack_grows_down and activations. Eliminate unused XX. From hosking at elego.de Wed Nov 25 19:42:47 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:42:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125184247.547E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:42:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Eliminate tabs. From hosking at elego.de Wed Nov 25 20:01:04 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 20:01:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125190104.43EFFCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 20:01:04 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 m3makefile 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.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Removed files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: Move ThreadInternal.i3 to RTThread.i3. From hosking at elego.de Thu Nov 26 01:25:47 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:25:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126002548.2B2FE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:25:47 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ProcessStacks routine takes a base address and a *limit*. So, stop before limit. From hosking at elego.de Thu Nov 26 01:26:00 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:26:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126002600.46F39CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:26:00 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: Tweak comment. From hosking at elego.de Thu Nov 26 01:31:53 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:31:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126003153.D9C7E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:31:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Restore SPARC SaveRegsInStack implementation. longjmp is MT-Level unsafe. Not sure what this says about setjmp -- Boehm doesn't appear to process any context other than the stacks. From jay.krell at cornell.edu Thu Nov 26 03:03:46 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 02:03:46 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091126003153.D9C7E2474001@birch.elegosoft.com> References: <20091126003153.D9C7E2474001@birch.elegosoft.com> Message-ID: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Nov 26 03:06:13 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 02:06:13 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, Message-ID: http://osdir.com/ml/os.solaris.sunhelp/2001-09/msg00263.html ? - Jay From: jay.krell at cornell.edu To: hosking at elego.de; m3commit at elegosoft.com Date: Thu, 26 Nov 2009 02:03:46 +0000 Subject: Re: [M3commit] CVS Update: cm3 > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Nov 26 03:42:41 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 3:42:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126024241.DB02ACC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 03:42:41 Added files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.i3 Log message: add RTThread.i3, copy of last? ThreadInternal.i3 but with interface name changed From jkrell at elego.de Thu Nov 26 03:44:16 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 3:44:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126024416.57CAF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 03:44:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix it to compile -- xx vs. callee, and eliminate casts by changing void* to int* From jkrell at elego.de Thu Nov 26 05:23:20 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:23:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126042320.D8BBE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:23:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: parameter names in procedure types are apparently part of the signature; fix it to compile From jkrell at elego.de Thu Nov 26 05:28:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:28:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126042817.9C2732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:28:17 Modified files: cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c Csignal.i3 CstdioC.c Cstdlib.i3 Cstring.i3 m3makefile Added files: cm3/m3-libs/m3core/src/C/Common/: CsignalC.c CstdlibC.c CstringC.c Log message: be more aggressive about not cloning headers certainly the signatures here are/were correct, but there is still the danger of inlines or pragmas creating not the normal binary interface, and apparently a source interface is all we can really count on From jkrell at elego.de Thu Nov 26 05:45:33 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:45:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126044534.20A162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:45:33 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 RTMisc.m3 m3makefile Added files: cm3/m3-libs/m3core/src/runtime/common/: RTMiscC.c Log message: be aggressive about not cloning headers actually, since we already wrapped what this is calling, this code is ok but then, remove an extra layer From jkrell at elego.de Thu Nov 26 05:46:39 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:46:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126044639.8FEB32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:46:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 Log message: rewrite comment -- Align is the same as Upper, but casting INTEGER <=> ADDRESS From jkrell at elego.de Thu Nov 26 06:04:01 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 6:04:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126050401.C30FECC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 06:04:01 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 RTMisc.m3 RTMiscC.c Log message: equate RTMisc.Upper and RTMisc.Align via <*EXTERNAL*> so an unoptimized RTMisc.Align will still jump right to RTMisc.Upper preserve RTMisc.Align for binary compatibility however From jkrell at elego.de Thu Nov 26 08:01:15 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 8:01:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126070118.3BA0C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 08:01:15 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: in NoteStackLocations, if stack is 0,0, just return having done nothing From jkrell at elego.de Thu Nov 26 09:46:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 9:46:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126084617.3BD222474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 09:46:17 Modified files: cm3/scripts/: sysinfo.sh Log message: remove echo that breaks building cm3 From jkrell at elego.de Thu Nov 26 10:11:28 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:11:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091128.6D0412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:11:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: combine the two implementations of InitC From jkrell at elego.de Thu Nov 26 10:13:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:13:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091317.71A8A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:13:17 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: try not to waste time on signal mask, though this area is frought with #ifdef'ed headers, but it is ok if we get it wrong From jkrell at elego.de Thu Nov 26 10:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091846.7DFA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:18:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: get errno before getting the activation, since the point is to preserve errno From jkrell at elego.de Thu Nov 26 10:23:12 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:23:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126092312.EA38A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:23:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: try again setjmp/longjmp on sparc instead of the gnarly assembly different this time call setjmp on all targets in both SignalHandler and ProcessLive call longjmp immediately then for sparc and ia64 make another function call to ensure taking the address of a local includes jmp_buf (without having to worry about stack direction) introduce SignalHandlerC (C code called from Modula-3 SignalHandler) SignalHandlerX (called from SignalHandlerC to be sure capture all the stack) ProcessLiveX (called from ProcessLive to be sure capture all the stack) From jkrell at elego.de Thu Nov 26 10:34:47 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:34:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093447.19BC92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:34:47 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachine.i3 RTStackC.c Log message: copy from head: replace assembly with setjmp/longjmp remove locals that are initialized but not further used remove userthread support in RTMachine.i3, we use make/get/set/swapcontext now From jkrell at elego.de Thu Nov 26 10:37:18 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:37:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093718.971842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:37:18 Removed files: cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTSignal.m3 cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTSignal.m3 Log message: remove unused files From jkrell at elego.de Thu Nov 26 10:38:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:38:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093830.CADE1CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:38:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadContext.i3 Log message: copy from head: shorter by using 'IMPORT FROM' From jkrell at elego.de Thu Nov 26 10:41:57 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:41:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126094158.6BB802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:41:57 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 Log message: ignore stack=0,0 in NoteStackLocations, in prep for ThreadPThreadC.c copy From jkrell at elego.de Thu Nov 26 10:43:25 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:43:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126094325.3BD7A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:43:25 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: copy from head, several changes, we'll see if this clears up SOLgnu and SOLsun From jkrell at elego.de Thu Nov 26 14:56:28 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 14:56:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126135628.B95B8CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 14:56:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: RTThread to ThreadInternal (unless we merge more from head) From jkrell at elego.de Thu Nov 26 16:55:05 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 16:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126155505.663442474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 16:55:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: noinline for Visual C++ >= 7.0 (optionally the compiler for Interix) noinline for Sun CC >= 5.9 still could be better e.g. Intel compiler From hosking at cs.purdue.edu Thu Nov 26 18:06:28 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 26 Nov 2009 12:06:28 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com> Message-ID: Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > > longjmp is MT-Level unsafe. > > Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? > > /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt > vi 1.txt > > 000314fc <_setjmp>: > 314fc: c0 22 20 00 clr [ %o0 ] > 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] > 31504: 92 03 e0 08 add %o7, 8, %o1 > 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] > 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] > 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] > 31514: 81 c3 e0 08 retl > 31518: 90 10 00 00 mov %g0, %o0 > > > 0003151c <_longjmp>: > 151c: 91 d0 20 03 ta 3 > 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 > 31524: e0 1a a0 00 ldd [ %o2 ], %l0 > 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 > 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 > 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 > 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 > 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 > 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 > 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp > 31544: 9c 10 00 0a mov %o2, %sp > 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 > 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 > 31550: 80 90 00 09 tst %o1 > 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> > 31558: 9e 22 e0 08 sub %o3, 8, %o7 > 3155c: 92 10 20 01 mov 1, %o1 > 31560: 81 c3 e0 08 retl > 31564: 90 10 00 09 mov %o1, %o0 > > I'll step through calls to them see if they look the same (network problems..) > > - Jay > > > > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > > ThreadPThread.m3 > > ThreadPThreadC.c > > > > Log message: > > Restore SPARC SaveRegsInStack implementation. > > longjmp is MT-Level unsafe. > > Not sure what this says about setjmp -- Boehm doesn't appear to process any > > context other than the stacks. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 18:08:44 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 18:08:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126170844.BFDB72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 18:08:44 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.i3 Log message: Forgot to commit this. From jay.krell at cornell.edu Thu Nov 26 18:47:59 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 17:47:59 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, , Message-ID: I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Nov 26 19:02:03 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 18:02:03 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, , , , , Message-ID: Also I'm ok with the assembly, just that we should be sure to have only one copy of it per processor and probably in separate .s files. I might put that back before long. - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 17:47:59 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 19:30:56 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 19:30:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126183056.4FD32CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 19:30:56 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Bail out of NoteStackLocations for start < stop. From hosking at elego.de Thu Nov 26 19:44:24 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 19:44:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126184425.32C152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 19:44:24 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Refactor slightly to avoid need for awkward SignalHandlerC call. From jay.krell at cornell.edu Thu Nov 26 19:55:58 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 18:55:58 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, ,,, , , , , , Message-ID: er, I'm just plain wishy-washy. If it is just Sparc, I think we're ok. I'll see what Itanium requires "later" (I've had two machines for quite some months, been putting it off.) - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 18:02:03 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Also I'm ok with the assembly, just that we should be sure to have only one copy of it per processor and probably in separate .s files. I might put that back before long. - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 17:47:59 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 21:57:28 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 21:57:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126205728.346BF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 21:57:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Something closer to what Jay seems to like. We could even extract the stack pointer from the ucontext_t. From jay.krell at cornell.edu Fri Nov 27 09:04:36 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 27 Nov 2009 08:04:36 +0000 Subject: [M3commit] CVS Update: add link to contributed Debian archives In-Reply-To: <20091115123820.51F5B2474001@birch.elegosoft.com> References: <20091115123820.51F5B2474001@birch.elegosoft.com> Message-ID: Note that the Hudson build produces .deb files: % pwd /var/www/modula3.elegosoft.com/cm3/releng % ls -l *deb -rw-r--r-- 1 hudson m3 42426960 2009-11-03 08:39 cm3-AMD64_LINUX-RC4.deb -rw-r--r-- 1 hudson m3 68637358 2009-11-03 16:30 cm3-FreeBSD4-RC4.deb -rw-r--r-- 1 hudson m3 41463292 2009-09-27 21:49 cm3-LINUXLIBC6-pre-RC4.deb -rw-r--r-- 1 hudson m3 71685410 2009-11-04 23:57 cm3-PPC_DARWIN-RC4.deb -rw-r--r-- 1 hudson m3 37000860 2009-11-04 18:27 cm3-SOLgnu-RC4.deb I know non-Linux-.deb might seem odd, but the file format is just .tar.{gz,bz2,lzma} inside an ar file with just a bit more information. They are just like the other packages except there is no installer and the paths include a hardcoded /usr/local/cm3. These .deb files contain "everything" so there is less to test and less to implement (I realize it is a tradeoff). Maybe link to these too? - Jay > Date: Sun, 15 Nov 2009 13:38:20 +0000 > To: m3commit at elegosoft.com > From: wagner at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: wagner at birch. 09/11/15 13:38:20 > > Modified files: > cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html > top.html > > Log message: > add link to contributed Debian archives > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 27 09:12:54 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:12:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127081254.D5CB12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:12:54 Modified files: cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c Log message: Interix needs #define _REENTRANT From jkrell at elego.de Fri Nov 27 09:17:45 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:17:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127081746.560CE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:17:45 Modified files: cm3/m3-comm/tcp/src/POSIX/: HerrnoC.c Log message: Interix needs #define _REENTRANT From jkrell at elego.de Fri Nov 27 09:20:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:20:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082033.8C529CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:20:33 Modified files: cm3/m3-lectern/lecternclient/src/POSIX/: LecternClient.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change on the config file From jkrell at elego.de Fri Nov 27 09:22:25 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:22:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082225.3EDE12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:22:25 Modified files: cm3/m3-libs/dps/src/: ccDisplayPS.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); also remove manual 'extern int errno', there is already #include and it should suffice From jkrell at elego.de Fri Nov 27 09:23:44 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:23:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082344.A69A12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:23:44 Modified files: cm3/m3-tools/cvsup/suptcp/src/common/: SupErrnoC.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); probably we can just remove this file From jkrell at elego.de Fri Nov 27 09:24:53 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:24:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082453.68FE82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:24:53 Modified files: cm3/m3-tools/cvsup/suplib/src/libmd/: md5hl.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file) From jkrell at elego.de Fri Nov 27 09:26:39 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:26:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082639.CE116CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:26:39 Modified files: cm3/m3-libs/sysutils/src/: SystemC.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); this file is only for bootstrapping against older builds so probably could be left 'broken' From jkrell at elego.de Fri Nov 27 09:27:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:27:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082732.1498ACC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:27:32 Modified files: cm3/m3-mail/llscan/src/: err.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file) From jkrell at elego.de Fri Nov 27 09:28:57 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:28:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082857.E1980CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:28:57 Modified files: cm3/m3-mail/llscan/src/: llscan.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); also remove manual 'extern int errno', there is already #include and it should suffice From jkrell at elego.de Fri Nov 27 09:50:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:50:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127085043.BD5AF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:50:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: copy from head and: change RTThread back to ThreadInternal change limit to stop fixes AMD64_LINUX p007 hang From jkrell at elego.de Fri Nov 27 10:50:56 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:50:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095057.15E1D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:50:56 Added files: cm3/m3-win/w32api/: CONTRIBUTIONS ChangeLog Makefile.in README.w32api TODO aclocal.m4 config.guess config.sub configure configure.in install-sh cm3/m3-win/w32api/include/: accctrl.h aclapi.h aclui.h adsprop.h afxres.h amaudio.h amvideo.h audevcod.h aviriff.h aygshell.h basetsd.h basetyps.h bdatypes.h cderr.h cguid.h cmnquery.h comcat.h commctrl.h commdlg.h control.h cpl.h cplext.h custcntl.h dbt.h dde.h ddeml.h devguid.h dhcpcsdk.h dlgs.h docobj.h dsadmin.h dsclient.h dsgetdc.h dshow.h dsquery.h dsrole.h dvdevcod.h dvdmedia.h edevdefs.h errorrep.h errors.h evcode.h exdisp.h exdispid.h fltdefs.h httpext.h icm.h idispids.h il21dec.h imagehlp.h imm.h initguid.h intshcut.h ipexport.h iphlpapi.h ipifcons.h ipinfoid.h iprtrmib.h iptypes.h ipxconst.h ipxrtdef.h ipxtfflt.h isguids.h ks.h ksmedia.h largeint.h lm.h lmaccess.h lmalert.h lmapibuf.h lmat.h lmaudit.h lmbrowsr.h lmchdev.h lmconfig.h lmcons.h lmerr.h lmerrlog.h lmmsg.h lmremutl.h lmrepl.h lmserver.h lmshare.h lmsname.h lmstats.h lmsvc.h lmuse.h lmuseflg.h lmwksta.h lzexpand.h mapi.h mciavi.h mcx.h mgm.h mgmtapi.h mlang.h mmreg.h mmsystem.h mpegtype.h mprapi.h mq.h msacm.h mshtml.h mswsock.h nb30.h nddeapi.h nspapi.h ntdef.h ntdll.h ntdsapi.h ntdsbcli.h ntldap.h ntsecapi.h ntsecpkg.h oaidl.h objbase.h objfwd.h objidl.h objsafe.h objsel.h ocidl.h odbcinst.h ole.h ole2.h ole2ver.h oleacc.h oleauto.h olectl.h olectlid.h oledlg.h oleidl.h pbt.h poppack.h powrprof.h prsht.h psapi.h pshpack1.h pshpack2.h pshpack4.h pshpack8.h qedit.h rapi.h ras.h rasdlg.h raserror.h rassapi.h reason.h regstr.h richedit.h richole.h routprot.h rpc.h rpcdce.h rpcdce2.h rpcdcep.h rpcndr.h rpcnsi.h rpcnsip.h rpcnterr.h rpcproxy.h rtutils.h schannel.h schnlsp.h scrnsave.h sddl.h secext.h security.h servprov.h setupapi.h shellapi.h shldisp.h shlguid.h shlobj.h shlwapi.h snmp.h specstrings.h sql.h sqlext.h sqltypes.h sqlucode.h sspi.h stm.h strmif.h subauth.h svcguid.h tlhelp32.h tmschema.h unknwn.h userenv.h usp10.h uxtheme.h vfw.h vidcap.h vmr9.h vptype.h w32api.h winable.h winbase.h winber.h wincon.h wincrypt.h windef.h windns.h windows.h windowsx.h winerror.h wingdi.h wininet.h winioctl.h winldap.h winnetwk.h winnls.h winnt.h winperf.h winreg.h winresrc.h winsnmp.h winsock.h winsock2.h winspool.h winsvc.h winuser.h winver.h ws2spi.h ws2tcpip.h wsahelp.h wsipx.h wsnetbs.h wtsapi32.h wtypes.h xprtdefs.h zmouse.h cm3/m3-win/w32api/include/GL/: gl.h glext.h glu.h cm3/m3-win/w32api/include/ddk/: atm.h batclass.h cfg.h cfgmgr32.h d4drvif.h d4iface.h ddkmapi.h hidclass.h hidpi.h hidsdi.h hidusage.h kbdmou.h mcd.h miniport.h minitape.h mountdev.h mountmgr.h ndis.h ndisguid.h ndistapi.h ndiswan.h netevent.h netpnp.h newdev.h ntapi.h ntdd8042.h ntddbeep.h ntddcdrm.h ntddcdvd.h ntddchgr.h ntdddisk.h ntddk.h ntddkbd.h ntddmou.h ntddndis.h ntddpar.h ntddpcm.h ntddscsi.h ntddser.h ntddstor.h ntddtape.h ntddtdi.h ntddvdeo.h ntddvol.h ntifs.h ntpoapi.h ntstatus.h parallel.h pfhook.h poclass.h scsi.h scsiscan.h scsiwmi.h smbus.h srb.h storport.h tdi.h tdiinfo.h tdikrnl.h tdistat.h tvout.h upssvc.h usb.h usb100.h usbcamdi.h usbdi.h usbioctl.h usbiodef.h usbscan.h usbuser.h video.h videoagp.h win2k.h winddi.h winddk.h winnt4.h winxp.h ws2san.h xfilter.h cm3/m3-win/w32api/include/directx/: d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h cm3/m3-win/w32api/lib/: Makefile.in aclui.def advapi32.def ativscp-uuid.c avicap32.def avifil32.def bthprops.def cap.def cguid-uuid.c comcat-uuid.c comctl32.def comdlg32.def crypt32.def ctl3d32.def devguid.c dhcpcsvc.def dlcapi.def dnsapi.def docobj-uuid.c exdisp-uuid.c extras-uuid.c faultrep.def gdi32.def glaux.def glu32.def hlguids-uuid.c hlink-uuid.c icmui.def igmpagnt.def imagehlp.def imm32.def iphlpapi.def kernel32.def largeint.c lz32.def mapi32.def mfcuia32.def mgmtapi.def mlang-uuid.c mpr.def mprapi.def mqrt.def msacm32.def mscms.def mshtml-uuid.c msimg32.def msvcp60.def msvfw32.def mswsock.def msxml-uuid.c nddeapi.def netapi32.def ntdll.def oaidl-uuid.c objidl-uuid.c objsafe-uuid.c ocidl-uuid.c odbc32.def odbccp32.def ole32.def oleacc-uuid.c oleacc.def oleaut32.def olecli32.def olectlid-uuid.c oledlg.def oleidl-uuid.c olepro32.def olesvr32.def opengl32.def penwin32.def pkpd32.def power-uuid.c powrprof.def psapi.def quartz.def rapi.def rasapi32.def rasdlg.def res.rc rpcdce4.def rpcns4.def rpcrt4.def rtm.def rtutils.def scrnsave.c secur32.def servprov-uuid.c setupapi.def shell32.c shell32.def shfolder.def shlwapi.def snmpapi.def svrapi.def tapi32.def test.c th32.def thunk32.def unknwn-uuid.c url.def urlmon-uuid.c user32.def userenv.def usp10.def uxtheme.def vdmdbg.def version.def vfw32.mri win32spl.def wininet.def winmm.def winspool.def winstrm.def wldap32.def wow32.def ws2_32.c ws2_32.def wsnmp32.def wsock32.def wst.def wtsapi32.def cm3/m3-win/w32api/lib/ddk/: Makefile.in apcups.def cfgmgr32.def dxapi.def hal.def hid.def hidparse.def mcd.def ndis.def newdev.def ntoskrnl.def scsiport.def tdi.def usbcamd.def usbcamd2.def videoprt.def win32k.def cm3/m3-win/w32api/lib/directx/: Makefile.in d3d8.def d3d9.def d3dim.def d3drm.def d3dx8d.def d3dx9d.def d3dxof.def ddraw.def dinput.def dinput8.def dinput_joy.c dinput_joy2.c dinput_kbd.c dinput_mouse.c dinput_mouse2.c dinput_private.h dmoguids.c dplayx.def dpnaddr.def dpnet.def dpnlobby.def dpvoice.def dsetup.def dsound.def dxerr.c dxerr8.c dxerr8w.c dxerr9.c dxerr9w.c dxguid.c ksproxy.def ksuser.c ksuser.def msdmo.def strmiids.c test.c Log message: initial import of free w32api headers/libraries This is intended only for use with Interix to get at a little bit of functionality in ntdll, and we will prune it down aggressively. From jkrell at elego.de Fri Nov 27 10:51:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:51:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095151.EE267CC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:51:51 Removed files: cm3/m3-win/w32api/include/directx/: d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h Log message: remove directx stuff we don't need From jkrell at elego.de Fri Nov 27 10:52:41 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:52:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095241.24CF02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:52:41 Removed files: cm3/m3-win/w32api/include/GL/: gl.h glext.h glu.h Log message: remove OpenGL stuff we don't need From jkrell at elego.de Fri Nov 27 10:58:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:58:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095823.BCDCFCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:58:23 Removed files: cm3/m3-win/w32api/lib/ddk/: Makefile.in apcups.def cfgmgr32.def dxapi.def hal.def hid.def hidparse.def mcd.def ndis.def newdev.def ntoskrnl.def scsiport.def tdi.def usbcamd.def usbcamd2.def videoprt.def win32k.def Log message: remove ddk stuff we don't need From jkrell at elego.de Fri Nov 27 10:59:06 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:59:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095906.3B848CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:59:06 Removed files: cm3/m3-win/w32api/lib/directx/: Makefile.in d3d8.def d3d9.def d3dim.def d3drm.def d3dx8d.def d3dx9d.def d3dxof.def ddraw.def dinput.def dinput8.def dinput_joy.c dinput_joy2.c dinput_kbd.c dinput_mouse.c dinput_mouse2.c dinput_private.h dmoguids.c dplayx.def dpnaddr.def dpnet.def dpnlobby.def dpvoice.def dsetup.def dsound.def dxerr.c dxerr8.c dxerr8w.c dxerr9.c dxerr9w.c dxguid.c ksproxy.def ksuser.c ksuser.def msdmo.def strmiids.c test.c Log message: remove directx stuff we don't need From jkrell at elego.de Fri Nov 27 11:02:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:02:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127100205.D63E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:02:05 Removed files: cm3/m3-win/w32api/lib/: aclui.def advapi32.def ativscp-uuid.c avicap32.def avifil32.def bthprops.def cap.def cguid-uuid.c comcat-uuid.c comctl32.def comdlg32.def crypt32.def ctl3d32.def devguid.c dhcpcsvc.def dlcapi.def dnsapi.def docobj-uuid.c exdisp-uuid.c extras-uuid.c faultrep.def gdi32.def glaux.def glu32.def hlguids-uuid.c hlink-uuid.c icmui.def igmpagnt.def imagehlp.def imm32.def iphlpapi.def kernel32.def largeint.c lz32.def mapi32.def mfcuia32.def mgmtapi.def mlang-uuid.c mpr.def mprapi.def mqrt.def msacm32.def mscms.def mshtml-uuid.c msimg32.def msvcp60.def msvfw32.def mswsock.def msxml-uuid.c nddeapi.def netapi32.def oaidl-uuid.c objidl-uuid.c objsafe-uuid.c ocidl-uuid.c odbc32.def odbccp32.def ole32.def oleacc-uuid.c oleacc.def oleaut32.def olecli32.def olectlid-uuid.c oledlg.def oleidl-uuid.c olepro32.def olesvr32.def opengl32.def penwin32.def pkpd32.def power-uuid.c powrprof.def psapi.def quartz.def rapi.def rasapi32.def rasdlg.def res.rc rpcdce4.def rpcns4.def rpcrt4.def rtm.def rtutils.def scrnsave.c secur32.def servprov-uuid.c setupapi.def shell32.c shell32.def shfolder.def shlwapi.def snmpapi.def svrapi.def tapi32.def test.c th32.def thunk32.def unknwn-uuid.c url.def urlmon-uuid.c user32.def userenv.def usp10.def uxtheme.def vdmdbg.def version.def vfw32.mri win32spl.def wininet.def winmm.def winspool.def winstrm.def wldap32.def wow32.def ws2_32.c ws2_32.def wsnmp32.def wsock32.def wst.def wtsapi32.def Log message: delete all but ntdll From jkrell at elego.de Fri Nov 27 11:11:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:11:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127101105.5E70B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:11:05 Modified files: cm3/m3-win/w32api/: Makefile.in configure configure.in cm3/m3-win/w32api/lib/: Makefile.in Log message: account for deletions From jkrell at elego.de Fri Nov 27 11:22:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:22:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127102243.E18BE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:22:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: apple.c freebsd.c Log message: split up ThreadPThreadC.c some currently #include the pieces but might want to not do that From jkrell at elego.de Fri Nov 27 11:23:58 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:23:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127102358.855242474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:23:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: noinline.h Log message: move a few dead lines out (safekeeping? move to m3unix.h or introduce some new m3defs.h?) From jkrell at elego.de Fri Nov 27 12:03:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:03:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127110326.A1A102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:03:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: work in progress for interix direct suspend it seems pretty simple and viable not yet worked out small issues: reaching around for #include (or, notice that it ended up so simple, that we can just duplicate the three lines plus #include windows.h for context; though the headers seem to conflict and we do need context, so probably best to compile separately) similarly, the .lib using HANDLE instead pthread_t (need to store both in the activation, and then use NtDuplicateObject(NtCurrentThread()) probably) From jkrell at elego.de Fri Nov 27 12:04:20 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:04:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127110420.37CF02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:04:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: fix assert -- context vs. signal_context From jkrell at elego.de Fri Nov 27 12:29:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:29:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127112930.466CB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:29:30 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: compile separately since the headers seem to conflict From jkrell at elego.de Fri Nov 27 12:42:15 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:42:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127114215.AE84ECC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:42:15 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: replace pthread_detach(me.handle) with pthread_detach_Self, where pthread_detach_self is in C as pthread_detach(pthread_self()) All other uses of act.handle are for suspend/resume. This little trick will let us redefine act.handle on Interix as the NT thread handle. From jkrell at elego.de Fri Nov 27 13:27:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 13:27:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127122726.95C04CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 13:27:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThreadC.c m3makefile Log message: attempt to solve some of the problems and flaws - only compile ThreadInterix.c on interix, remove dummy - modify SYSTEM_CC to point to headers - clevely implement pthread_self as returning NT thread handle (DuplicateObject(CurrentThread()) From jkrell at elego.de Fri Nov 27 18:34:31 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:34:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127173432.023DB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:34:31 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix readability and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) From jkrell at elego.de Fri Nov 27 18:37:38 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:37:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127173738.54424CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:37:38 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: a little less casting From jkrell at elego.de Fri Nov 27 18:43:09 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:43:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174309.99353CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:43:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: fix readability (subjective) and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) From jkrell at elego.de Fri Nov 27 18:47:10 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:47:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174710.ACF092474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:47:10 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: set local after longjmp, you know, because strictly speaking it'd have to be volatile to survive (but parameters are ok?) From jkrell at elego.de Fri Nov 27 18:48:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:48:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174805.9BB3E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:48:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: set local after longjmp, because strictly speaking it'd have to be volatile to survive (but parameters are ok?) From jkrell at elego.de Fri Nov 27 20:36:13 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:36:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127193613.C0EB02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:36:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThreadC.c m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadApple.c ThreadFreeBSD.c Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: apple.c freebsd.c Log message: using c_source helps build working boot archives, so use it instead of #include (I think there is some other directive, but also boot archives are "flat" so we need more unique file names.) consider ThreadDarwin.c or ThreadMacosx or ThreadMacX or such instead From hosking at elego.de Fri Nov 27 20:53:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 20:53:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195337.4CFC72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 20:53:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: Let's not depend on ucontext_t reporting a reliable stack pointer. From jkrell at elego.de Fri Nov 27 20:54:36 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:54:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195436.5D7BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:54:36 Added files: cm3/m3-win/ntdll/src/: m3makefile ntdll.c Log message: attempt to fill in missing pieces on interix this is just like import-libs, but I don't want to "ship" From jkrell at elego.de Fri Nov 27 20:56:11 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:56:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195611.A1FD6CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:56:11 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: try make it safe to build for all platforms From jkrell at elego.de Fri Nov 27 20:58:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:58:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195823.1FA6ACC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:58:23 Modified files: cm3/scripts/python/: pylib.py Log message: add ntdll (wherever import-libs is) From jkrell at elego.de Fri Nov 27 21:00:08 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 21:00:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127200008.351D72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 21:00:08 Modified files: cm3/m3-libs/m3core/src/unix/Common/: m3unix.h Log message: Interix has no socklen_t, here typedef int socklen_t From jkrell at elego.de Fri Nov 27 21:00:40 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 21:00:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127200040.CDAFD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 21:00:40 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: Interix has no net/if.h From hosking at elego.de Fri Nov 27 21:34:56 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:34:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127203457.057692474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:34:56 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: DEC(inCritical) on exception return from Fork. From hosking at elego.de Fri Nov 27 21:41:39 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127204139.696432474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:41:39 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: Casts (some needed, some not). From hosking at elego.de Fri Nov 27 21:49:54 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:49:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127204954.E612E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:49:54 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Unused field. From hosking at elego.de Fri Nov 27 22:05:47 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:05:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127210547.5F4072474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:05:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: Flag live thread to ProcessContext with NIL sp. Eliminate GetContext. From hosking at elego.de Fri Nov 27 22:11:47 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:11:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127211147.46E602474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:11:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Cosmetic reordering. From hosking at elego.de Fri Nov 27 22:13:18 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:13:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127211319.5E41B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:13:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Bring comment up to date. From jkrell at elego.de Sat Nov 28 07:59:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 7:59:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128065947.C69CE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 07:59:47 Modified files: cm3/scripts/python/: pylib.py Log message: some fixes/hack to compile/link Interix bootstrap From jkrell at elego.de Sat Nov 28 08:01:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:01:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128070115.ED2212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:01:15 Modified files: cm3/scripts/python/: pylib.py Log message: delete another output file (part of 'some fixes/hack to compile/link Interix bootstrap') From jkrell at elego.de Sat Nov 28 08:16:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:16:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128071602.312A32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:16:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: split pthread_self into GetCurrentThreadHandleForSuspendResume and GetCurrentThreadHandleForLockHolder From jkrell at elego.de Sat Nov 28 08:34:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:34:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128073454.9A99D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:34:54 Modified files: cm3/scripts/python/: pylib.py Log message: newlines and fix comment for Interix From jkrell at elego.de Sat Nov 28 08:38:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:38:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128073855.EE6062474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:38:55 Modified files: cm3/scripts/python/: pylib.py Log message: need -f on rm commands to avoid error for nonexistant files From jkrell at elego.de Sat Nov 28 11:53:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 11:53:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128105332.25A392474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 11:53:32 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: fixes for interix (not sure how it used to work) From jkrell at elego.de Sat Nov 28 11:56:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 11:56:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128105603.841B52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 11:56:03 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Unix.common Log message: special casing for ntdll on Interix similar to Uconstants.obj, hand.obj From jkrell at elego.de Sat Nov 28 12:05:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:05:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110514.C83232474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:05:14 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Unix.common Added files: cm3/m3-sys/cminstall/src/config-no-install/: Interix.common Log message: a little better -- ntdll only needed by m3core and non-shared executables (we don't have a notion of a "standalone shared library" here, though it does make sense; more generally each library an executable or shared library links to could be shared or not -- a boolean per import) From jkrell at elego.de Sat Nov 28 12:07:00 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:07:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110700.F124B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:07:00 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Interix.common Unix.common Log message: PKG_INSTALL is defined later, so move back to Unix.common; probably could be better but ok From jkrell at elego.de Sat Nov 28 12:09:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:09:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110915.B2C2A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:09:15 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: fix newlines From jkrell at elego.de Sat Nov 28 12:11:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:11:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128111111.8BA682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:11:11 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: do even less on most platforms From jkrell at elego.de Sat Nov 28 12:12:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:12:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128111246.99BAF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:12:46 Modified files: cm3/m3-win/ntdll/src/: ntdll.c Log message: trim it down From jkrell at elego.de Sat Nov 28 12:20:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:20:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128112039.93CF22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:20:39 Modified files: cm3/m3-win/ntdll/src/: ntdll.c Log message: extern C From jkrell at elego.de Sat Nov 28 12:50:26 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:50:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128115028.BE5842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:50:26 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: NT386.common Unix.common cm3cfg.common Log message: support "libfoo.a.sa" for "standalone" in Interix like NT386's "foo.lib.sa" simple: move ConvertLibsToStandalone from NT386.common to cm3cfg.common add call to it produce the .sa files (move foo.a foo.a.sa, etc.) From hosking at elego.de Sat Nov 28 23:57:43 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 28 Nov 2009 23:57:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128225744.10D682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/28 23:57:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Fix names in process procedure to match declaration in RTThread.i3. From jkrell at elego.de Sun Nov 29 03:43:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 3:43:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129024319.C46B32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 03:43:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Unix.common Log message: move IsInterix so it is more available and can filter gui stuff From jkrell at elego.de Sun Nov 29 04:45:00 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 4:45:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129034501.EA6422474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 04:45:00 Modified files: cm3/m3-ui/ui/src/xvbt/: m3makefile Log message: filter out for Interix (maybe we should be checking for X11 in SYSTEM_LIBS or SYSTEM_LIBORDER? (imagine some wierdo system which X is 'built in' though) From jkrell at elego.de Sun Nov 29 04:46:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 4:46:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129034658.973592474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 04:46:58 Modified files: cm3/m3-ui/ui/src/xvbt/: m3makefile Log message: use if SYSTEM_LIBS contains X11 like m3-ui\X11R4 (which I'm sure I put in; need consensus here) From jkrell at elego.de Sun Nov 29 05:13:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:13:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129041330.083E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:13:29 Modified files: cm3/m3-ui/X11R4/src/: m3makefile Log message: experiment wrt X and Interix build it all, but just don't import_sys_lib("X11") if it isn't there this works as long as the library is entirely "external" and doesn't actually contain any code that links to anything (ie: if we avoid cloning headers, this won't work, not clear what is best, and not clear how to filter well, in particular, only this low level should really know about X11, higher up should check for their immediate dependencies I kind of think..) From jkrell at elego.de Sun Nov 29 05:44:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:44:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129044459.84F4F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:44:58 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Log message: proc HasGui() is return not IsInterix() end From jkrell at elego.de Sun Nov 29 05:48:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:48:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129044900.219012474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:48:59 Modified files: cm3/m3-ui/videovbt/src/: m3makefile Log message: use HasGui to skip on Interix (at least for now, I really should be able to get X to work on Interix, it's only X CLIENT after all, not server) From jkrell at elego.de Sun Nov 29 05:55:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:55:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129045525.4299F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:55:24 Modified files: cm3/m3-ui/bicycle/src/: m3makefile cm3/m3-ui/cmvbt/src/: m3makefile cm3/m3-ui/formsvbt/src/: m3makefile cm3/m3-ui/images/src/: m3makefile cm3/m3-ui/juno-2/juno-app/src/: m3makefile cm3/m3-ui/ui/test/Argus/src/: m3makefile cm3/m3-ui/ui/test/BadBricks/src/: m3makefile cm3/m3-ui/ui/test/ButtonTest/src/: m3makefile cm3/m3-ui/ui/test/Cards/src/: m3makefile cm3/m3-ui/ui/test/ColorMonster/src/: m3makefile cm3/m3-ui/ui/test/Draw/src/: m3makefile cm3/m3-ui/ui/test/EyesVBT/src/: m3makefile cm3/m3-ui/ui/test/Hello/src/: m3makefile cm3/m3-ui/ui/test/Monster/src/: m3makefile cm3/m3-ui/ui/test/Sketch2/src/: m3makefile cm3/m3-ui/ui/test/StarAnim/src/: m3makefile cm3/m3-ui/ui/test/Track/src/: m3makefile cm3/m3-ui/ui/test/TypeInTest/src/: m3makefile cm3/m3-ui/ui-tests/pixmapcomtest/src/: m3makefile cm3/m3-ui/vbtkit/src/: m3makefile cm3/m3-ui/webvbt/src/hyperpage/src/: m3makefile Log message: wherever there is import("ui"), wrap in if HasGui() From jkrell at elego.de Sun Nov 29 06:06:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:06:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129050647.7B1272474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:06:46 Modified files: cm3/m3-ui/codeview/src/: m3makefile cm3/m3-ui/formsedit/src/: m3makefile cm3/m3-ui/formsview/src/: m3makefile cm3/m3-ui/mg/src/: m3makefile cm3/m3-ui/ui-tests/test25/src/: m3makefile cm3/m3-ui/ui-tests/texturecomtest/src/: m3makefile cm3/m3-ui/webvbt/src/: m3makefile Log message: Wherever there is import("formsvbt"), wrap with HasGui(). From jkrell at elego.de Sun Nov 29 06:18:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:18:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129051842.059C02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:18:41 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Log message: proc HasOpenGL() is % but see http://www.interix.com/Motif-OpenGL.htm return not IsInterix() end From jkrell at elego.de Sun Nov 29 06:21:52 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:21:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129052153.0E57D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:21:52 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Log message: remove OPENGL and MOTIF from I386_INTERIX, though both are available from third party From jkrell at elego.de Sun Nov 29 06:51:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:51:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129055140.CBD5D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:51:39 Modified files: cm3/m3-ui/bicycle/src/: m3makefile cm3/m3-ui/cmvbt/src/: m3makefile cm3/m3-ui/codeview/src/: m3makefile cm3/m3-ui/formsvbt/src/: m3makefile cm3/m3-ui/images/src/: m3makefile cm3/m3-ui/mg/src/: m3makefile cm3/m3-ui/mgkit/src/: m3makefile cm3/m3-ui/ui/src/xvbt/: m3makefile cm3/m3-ui/ui/test/EyesVBT/src/: m3makefile cm3/m3-ui/vbtkit/src/: m3makefile cm3/m3-ui/videovbt/src/: m3makefile cm3/m3-ui/webvbt/src/: m3makefile cm3/m3-ui/webvbt/src/hyperpage/src/: m3makefile cm3/m3-ui/zeus/src/: m3makefile Log message: change if HasGui() .. Library(xxx) end to if HasGui() build_standalone() end ... Library(xxx) so we still compile all the code, which is arguably worthwhile test coverage (we could also change program that won't link into standalone libraries, but for now, I haven't made that call) From jkrell at elego.de Sun Nov 29 07:09:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:09:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129060907.781D22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:09:06 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: use IsInterix instead of reimplementing it From jkrell at elego.de Sun Nov 29 07:09:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:09:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129060946.AB8142474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:09:46 Added files: cm3/m3-win/ntdll/: .cvsignore Log message: add .cvsignore From jkrell at elego.de Sun Nov 29 07:13:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:13:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061314.BB94D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:13:14 Modified files: cm3/m3-obliq/obliqsrvui/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:14:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:14:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061443.302412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:14:43 Modified files: cm3/m3-obliq/obliqbinui/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:15:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:15:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061559.950C32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:15:58 Modified files: cm3/m3-obliq/obliqbinanim/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:40:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:40:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129064050.A5F922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:40:48 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Log message: remove --no-undefined, at least for now From jkrell at elego.de Mon Nov 30 03:33:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 3:33:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130023326.A24CD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 03:33:26 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Unix.common Log message: use whole-archive on Interix to shorten command lines; did not have proposed affect of causing unresolved symbols to be resolved but ok From wagner at elegosoft.com Mon Nov 30 08:14:24 2009 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 30 Nov 2009 08:14:24 +0100 Subject: [M3commit] CVS Update: add link to contributed Debian archives In-Reply-To: References: <20091115123820.51F5B2474001@birch.elegosoft.com> Message-ID: <20091130081424.2hkzni7nwow4g4sw@mail.elegosoft.com> Quoting Jay K : > Note that the Hudson build produces .deb files: > > % pwd > /var/www/modula3.elegosoft.com/cm3/releng > % ls -l *deb > -rw-r--r-- 1 hudson m3 42426960 2009-11-03 08:39 cm3-AMD64_LINUX-RC4.deb > -rw-r--r-- 1 hudson m3 68637358 2009-11-03 16:30 cm3-FreeBSD4-RC4.deb > -rw-r--r-- 1 hudson m3 41463292 2009-09-27 21:49 cm3-LINUXLIBC6-pre-RC4.deb > -rw-r--r-- 1 hudson m3 71685410 2009-11-04 23:57 cm3-PPC_DARWIN-RC4.deb > -rw-r--r-- 1 hudson m3 37000860 2009-11-04 18:27 cm3-SOLgnu-RC4.deb > > I know non-Linux-.deb might seem odd, but the file format is just > .tar.{gz,bz2,lzma} inside an ar file with just a bit more > information. They are just like the other packages except there is > no installer and the paths include a hardcoded /usr/local/cm3. > > These .deb files contain "everything" so there is less to test and > less to implement (I realize it is a tradeoff). > > Maybe link to these too? Of course we should link them, too. You should just have extended the index build script when you introduced those. I'll have a look tonight, unless you are faster. I'd just put them in a separate paragraph, as there seems to be only one per platform. Olaf -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From jkrell at elego.de Mon Nov 30 10:05:53 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:05:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130090553.CFE892474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:05:53 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: rewrite to do everything, so maybe less special casing in Unix.common From jkrell at elego.de Mon Nov 30 10:23:24 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:23:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092324.EF27F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:23:24 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: rewrite again From jkrell at elego.de Mon Nov 30 10:27:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:27:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092706.02E0C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:27:05 Modified files: cm3/m3-obliq/visualobliq/src/: m3makefile cm3/m3-obliq/voquery/src/: m3makefile cm3/m3-obliq/vorun/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:28:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:28:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092845.39AB42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:28:45 Modified files: cm3/m3-tools/rehearsecode/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:30:33 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:30:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130093033.699DC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:30:33 Modified files: cm3/m3-tools/replayheap/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:31:52 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:31:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130093152.F26352474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:31:52 Modified files: cm3/m3-tools/showthread/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:40:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:40:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094043.9370F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:40:43 Modified files: cm3/m3-demo/calculator/src/: m3makefile cm3/m3-demo/cube/src/: m3makefile cm3/m3-demo/fisheye/src/: m3makefile cm3/m3-demo/sharedboard/boardclient/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:41:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:41:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094105.83A812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:41:05 Modified files: cm3/m3-tools/showheap/src/: m3makefile cm3/m3-tools/shownew/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:43:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:43:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094326.221CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:43:26 Modified files: cm3/m3-demo/mentor/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:44:55 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:44:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094455.603822474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:44:55 Modified files: cm3/m3-www/deckscape/src/: m3makefile cm3/m3-www/webscape/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:53:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:53:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095345.40E2E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:53:45 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: print more information when it fails (just saw it happen :( ) From jkrell at elego.de Mon Nov 30 10:54:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:54:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095419.99D832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:54:19 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: tweak to repeat less and use relative up paths sometimes (was trying to fix a problem but this wasn't it) From jkrell at elego.de Mon Nov 30 10:54:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:54:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095459.7B1642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:54:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: fix newlines From jkrell at elego.de Mon Nov 30 10:59:49 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:59:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095949.AAC0D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:59:49 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: more information for errors From jkrell at elego.de Mon Nov 30 11:00:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 11:00:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130100051.BB2E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 11:00:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: explicit calling convention From jkrell at elego.de Mon Nov 30 13:00:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 13:00:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130120023.A55DB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 13:00:22 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: strange need for sleep/retry in duplicating current thread, we get a few access denied otherwise From jkrell at elego.de Mon Nov 30 13:03:07 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 13:03:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130120307.D45102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 13:03:07 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: keep two thread handles what to call them is unclear here we ahve: joinHandle suspendResumeHandle aka: pthread ntthread on all but Interix (and possibly Cygwin), they are equivalent, either the result of pthread_create or pthread_self on Interix, once is pthread_create/self, the other is a kernel handle for suspend/resume alternate names welcome the intent seems hoky, but helps much From jay.krell at cornell.edu Sun Nov 1 12:10:38 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 1 Nov 2009 11:10:38 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091031183838.70EBACC109@birch.elegosoft.com> References: <20091031183838.70EBACC109@birch.elegosoft.com> Message-ID: This seems to fix the Juno Windows @paranoidgc break. Before I couldn't run Juno even once through its initial parsing, now it's run 20 times and counting. - Jay > Date: Sat, 31 Oct 2009 19:38:38 +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/10/31 19:38:38 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 > > Log message: > I may have broken old space write barriers... revert until can be > reconsidered. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 1 12:24:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:24:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101112427.7E1842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:24:27 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: NT386 Log message: style alteration From jkrell at elego.de Sun Nov 1 12:34:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:34:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101113420.CFD882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:34:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Don't bother getting the previous count in ReleaseSemaphore since it is never used (matches head). From jkrell at elego.de Sun Nov 1 12:41:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:41:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101114103.0C4F62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:41:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: win9x compat (or at least compat with older docs, which I presume correlates) -- don't pass NIL for threadid parameter of CreateThread From jkrell at elego.de Sun Nov 1 12:53:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:53:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101115311.168962474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:53:10 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove incorrect perf notification (all cross-thread ones were recently changed to non cross-thread in order that id == GetCurrentThreadId()) From jkrell at elego.de Mon Nov 2 11:56:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 11:56:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102105656.743DF2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 11:56:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Fix occasional hang starting up Juno -- or rather, fix random hangs in any Win32 Modula-3 code. SuspendThread/ResumeThread wasn't being balanced. The symptom in Juno is that the posted "forge vbt" event wasn't getting recieved. The giveaway however was noticing suspend counts >1 in the debugger when you'd really only expect them all to be 1, or sometimes in Modula-2, 2. But no more than one thread should be 2 and none should be higher. From jkrell at elego.de Mon Nov 2 12:07:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:07:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102110744.A198E2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:07:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: go back a version; that isn't right either From jkrell at elego.de Mon Nov 2 12:23:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:23:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102112319.9954F2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:23:19 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapRep.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Balance SuspendThread/ResumeThread so as to not randomly hang, such as in Juno startup. From jkrell at elego.de Mon Nov 2 12:28:36 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:28:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102112836.72510CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:28:36 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapRep.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: put suspended directly in Thread analogous to pthread (which uses a 4 state enum for the same information) From jkrell at elego.de Mon Nov 2 12:30:58 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:30:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102113058.29D89CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:30:58 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move it up to the transparent ones From jkrell at elego.de Mon Nov 2 12:39:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:39:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102113922.3BC602474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:39:22 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: manage suspended more correct with regard to thread creation From jkrell at elego.de Mon Nov 2 12:53:39 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:53:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102115339.74E4BCC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:53:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: reshrink critical section by using interlocked From jkrell at elego.de Mon Nov 2 13:11:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:11:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121103.CCF29CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:11:03 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 Thread.i3 Log message: cosmetic change from head From jkrell at elego.de Mon Nov 2 13:14:02 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:14:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121403.4AC70CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:14:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: portability fix From jkrell at elego.de Mon Nov 2 13:17:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:17:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121756.BE9142474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:17:56 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 m3makefile Added files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadDebug.c ThreadDebug.i3 Log message: new files from head, in case we fully merge ThreadWin32.m3 From jkrell at elego.de Mon Nov 2 13:30:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:30:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102123006.163232474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:30:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Remove idle thread code. I had recently bumped the idle thread count to 0 and the code is gone in head. However this was in response to heap corruption that was ultimately found to be caused by something else, so maybe maybe maybe we should restore this code for a performance gain. Maybe. From jkrell at elego.de Mon Nov 2 13:39:08 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:39:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102123910.562ABCC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:39:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Fix to balance SuspendThread and ResumeThread to avoid "random" hangs, such as in Juno startup. From jkrell at elego.de Mon Nov 2 13:44:14 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:44:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102124414.BF2EECC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:44:14 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove more idle thread remains From jkrell at elego.de Mon Nov 2 14:02:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:02:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130221.A7E0ECC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:02:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadInternal.i3 ThreadWin32.m3 Log message: equate thread id with Windows GetCurrentThreadId this requires moving a few perf notifications to be from within the thread instead of the e.g. creating/joining thread From jkrell at elego.de Mon Nov 2 14:07:00 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:07:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130701.384252474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:07:00 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Remove ridiculous threadMu that serializes access to all fields of all threads. Instead make each thread have its own lock. From jkrell at elego.de Mon Nov 2 14:09:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:09:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130905.4C7922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:09:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: There is no need to guard use of "unlinked" locals with a critical section, esp./including a call into the kernel (CloseHandle). (match head) From jkrell at elego.de Mon Nov 2 14:10:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:10:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131003.F25022474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:10:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove comment about idle threads From jkrell at elego.de Mon Nov 2 14:11:04 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:11:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131104.EE9CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:11:04 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove another idle thread comment reference From jkrell at elego.de Mon Nov 2 14:15:37 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:15:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131537.3E3E0CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:15:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Rename "cond" to "join". Slight cleanup in RunThread to match pthread/head. From jkrell at elego.de Mon Nov 2 14:16:40 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:16:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131640.A945C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:16:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: cosmetic: remove comment about idle threads, save a newline, add a semicolon From jkrell at elego.de Mon Nov 2 14:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131846.E8CADCC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:18:46 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove unused lock from Condition From jkrell at elego.de Mon Nov 2 14:24:53 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:24:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102132453.B065F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:24:53 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: assert inCritical = 1 in Init From jkrell at elego.de Mon Nov 2 14:30:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:30:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102133027.21D9E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:30:26 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: InitActivations is only called once; inline it From jkrell at elego.de Mon Nov 2 15:24:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:24:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102142401.96035CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:24:01 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: thread-safe manipulation of suspendCount does not necessarily? lead to the correct decision; start fixing this From jkrell at elego.de Mon Nov 2 15:44:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:44:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102144447.313132474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:44:47 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: raise an exception when CreateThread fails (presumably low memory) and remove useless checks From jkrell at elego.de Mon Nov 2 15:47:39 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:47:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102144739.6E7F02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:47:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix very dubious looking code in rare condition in AssignSlot, probably can rewrite this function better though From jkrell at elego.de Mon Nov 2 16:00:50 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:00:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102150050.5D8242474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:00:50 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Go back to critical section for suspendCount; I don't see a simple way around it. From jkrell at elego.de Mon Nov 2 16:18:02 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:18:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102151803.0E58F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:18:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: use literal type instead of explcit type f := 1 instead of f: INTEGER := 1 From jkrell at elego.de Mon Nov 2 16:20:40 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:20:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152040.E4F54CC103@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:20:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: save a newline From jkrell at elego.de Mon Nov 2 16:24:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:24:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152434.968E6CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:24:34 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: back to a criticalsection for suspendCount inline InitActivations start out inCritical From jkrell at elego.de Mon Nov 2 16:26:08 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:26:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152608.C7840CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:26:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: fix AssignSlot under race condition + low resources From jkrell at elego.de Mon Nov 2 16:42:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:42:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102154244.0FFAA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:42:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: merge StopWorld into its only caller SuspendOthers, similar to how ResumeOthers was already written seemingly avoid unnecessary calls to GetActivation also, though not sure this ever occurs recursively as the code is prepared to handle From jkrell at elego.de Mon Nov 2 16:44:13 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:44:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102154415.99A772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:44:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix From jkrell at elego.de Mon Nov 2 17:31:12 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 17:31:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102163112.EE3552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 17:31:12 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: - remove the funny recursive retry in favor a normal loop - use a clearer and more accurate test to determine who won the race The previous code was ok but the comment not always right as multiple threads could allocate a table of n+n size. From hosking at elego.de Mon Nov 2 19:18:32 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 2 Nov 2009 19:18:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102181832.981772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/02 19:18:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's make the mutex in Condition explicit rather than inherited. Implementation of Condition may change making it not like a mutex exactly. From jkrell at elego.de Mon Nov 2 22:52:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:52:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215221.215252474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:52:20 Modified files: cm3/scripts/python/: pylib.py Log message: should allow building Debian packages for any target From jkrell at elego.de Mon Nov 2 22:57:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:57:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215716.4916F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:57:16 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: should allow building Debian packages for any target From jkrell at elego.de Mon Nov 2 22:58:06 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:58:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215806.C729DCC103@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:58:06 Modified files: cm3/scripts/python/: pylib.py Log message: a few more processor names From wagner at elego.de Tue Nov 3 00:24:02 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 3 Nov 2009 0:24:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102232403.1A625CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/03 00:24:02 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh version Log message: move to RC4 at last From jkrell at elego.de Tue Nov 3 10:47:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 10:47:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103094734.A18512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 10:47:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: restore it to compiling -- put back Condition inheriting from MUTEX and use the correct identifier on END From jkrell at elego.de Tue Nov 3 11:54:57 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 11:54:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103105457.242122474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 11:54:57 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: adapt to use pthread_suspend/resume_np on OpenBSD only crashes though Can we fix it? Maybe. From jkrell at elego.de Tue Nov 3 11:56:31 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 11:56:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103105631.871D72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 11:56:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 Log message: fix so it compiles From jkrell at elego.de Tue Nov 3 12:01:10 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:01:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103110110.6D38B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:01:10 Modified files: cm3/m3-libs/m3core/src/: thread.quake cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c context.h Log message: slightly adapt so OpenBSD can compile/link user threads, and uses them by default. (OpenBSD doesn't have ucontext.h and has a wierd ucontext.h; we replace them in our context.h) but also crashes Can we fix it? Maybe. Some of the #ifdef __OpenBSD__ should be dropped as compilation is tested on other platforms. From jkrell at elego.de Tue Nov 3 12:25:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:25:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103112543.C34E32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:25:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/: thread.quake Log message: neuter OpenBSD changes pending investigation/fix; it worked 'better' before even though it didn't really work From jkrell at elego.de Tue Nov 3 12:57:57 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:57:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103115757.3ED7C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:57:56 Modified files: cm3/scripts/: sysinfo.sh Log message: remove echos that break m3-sys/cm3/src/version.quake From jkrell at elego.de Tue Nov 3 13:02:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:02:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103120239.0D2E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:02:39 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 sysinfo.sh Log message: reduce echoing that causes problems From jkrell at elego.de Tue Nov 3 13:06:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:06:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103120633.958402474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:06:33 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: OpenBSD.common Unix.common Log message: Actually use -static on OpenBSD as OpenBSD seems to have absolutely zero compatibility for dynamic files across releases with default installs -- libc.so changes name. This addresses cm3. cm3cg still needs a fix like this. From jkrell at elego.de Tue Nov 3 13:38:05 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:38:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103123805.E95F12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:38:05 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: remove unused macro ZeroMemory From jkrell at elego.de Tue Nov 3 13:50:17 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:50:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103125018.0A4E62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:50:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: go ahead and zero act, oact, being sure to #define ZeroMemory like in m3unix.h to hopefully avoid warning (in time we'll probably #include m3unix.h always here and remove the #define, once we compile on a few more systems) From jkrell at elego.de Tue Nov 3 13:59:38 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:59:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103125938.3F5082474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:59:38 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: fix for C++ -- #include string.h and cast from void* From jkrell at elego.de Tue Nov 3 14:07:46 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:07:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103130746.AEBD12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:07:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: check for failure From jkrell at elego.de Tue Nov 3 14:10:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:10:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131043.9B1522474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:10:43 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: check for failure From jkrell at elego.de Tue Nov 3 14:13:58 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:13:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131358.847382474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:13:58 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: check for failure From jkrell at elego.de Tue Nov 3 14:15:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:15:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131550.40FB02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:15:50 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: fill in the stack in getcontext (just to the address of parameter), so we don't access NULL From jkrell at elego.de Tue Nov 3 14:20:21 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:20:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103132021.ED9E02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:20:21 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: style: use NULL instead of 0 (arguable) From jkrell at elego.de Tue Nov 3 14:23:36 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:23:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103132336.53FF82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:23:36 Modified files: cm3/m3-libs/m3core/src/: thread.quake Log message: again userthreads on OpenBSD, seems to work From jkrell at elego.de Tue Nov 3 14:49:25 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:49:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103134925.F29A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:49:24 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: 0 to NULL From jkrell at elego.de Tue Nov 3 14:55:24 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:55:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103135524.8768E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:55:24 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: cleanup the #ifs and #defines (compiles on OpenBSD/x86, Solaris/sparc, Darwin/x86) From jkrell at elego.de Tue Nov 3 15:02:26 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 15:02:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103140226.413CD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 15:02:26 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: -static on OpenBSD to avoid the ever changing libc.so name From jkrell at elego.de Tue Nov 3 16:21:30 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 16:21:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103152130.3C1C52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 16:21:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: only set ss_sp on the get side, not on the return size, seems to fix the OpenBSD problem..still testing.. From jkrell at elego.de Tue Nov 3 16:29:05 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 16:29:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103152905.7DEFA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 16:29:05 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: use just the one notion of the stack (from the jumpbuf instead of the address of a local or parameter) From jkrell at elego.de Tue Nov 3 17:54:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 17:54:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103165432.B5EB62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 17:54:32 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Ignore stacks of threads that aren't yet fully initialized/running. Now Juno works on OpenBSD/x86 with user threads! From hosking at elego.de Tue Nov 3 18:02:18 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:02:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103170218.8A5F72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:02:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Revert Condition = MUTEX OBJECT. Not sure why Jay undid this. Should work fine. From hosking at elego.de Tue Nov 3 18:06:06 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:06:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103170606.948A62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:06:06 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Undo undo. Sorry Jay. Forgot that InitMutex is used for both Condition and Mutex. From hosking at cs.purdue.edu Tue Nov 3 18:17:39 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 3 Nov 2009 12:17:39 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091103165432.B5EB62474001@birch.elegosoft.com> References: <20091103165432.B5EB62474001@birch.elegosoft.com> Message-ID: <9297A70B-EFF8-4840-B0D0-867229867928@cs.purdue.edu> Great catch! Hooray. Did you consider using the sigaltstack trick to implement makecontext rather than trolling around in the jmpbuf? On 3 Nov 2009, at 17:54, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/03 17:54:32 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > Log message: > Ignore stacks of threads that aren't yet fully initialized/running. > Now Juno works on OpenBSD/x86 with user threads! -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Tue Nov 3 18:36:59 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:36:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103173700.024FC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:36:59 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Check for double join. From hosking at elego.de Tue Nov 3 19:03:50 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 19:03:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103180350.D7ED62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 19:03:50 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Revert until we resolve some questions as to spec for Join/AlertJoin. From hosking at elego.de Tue Nov 3 21:26:10 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:26:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103202610.B590E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:26:10 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTTypeSRC.i3 Log message: No need for TypecodeCharStar. We can print using RTIO.PutString(RTType.Get(tc).name). From hosking at elego.de Tue Nov 3 21:27:31 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:27:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103202731.67CB32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:27:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 Log message: No need for TypecodeCharStar. We can print using RTIO.PutString(RTType.Get(tc).name). From hosking at elego.de Tue Nov 3 21:30:21 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:30:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103203022.03C9D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:30:21 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 Log message: Oops, dropped TypeDefnToName somehow. From hosking at elego.de Tue Nov 3 21:42:51 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103204251.38A102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:42:51 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Implement check that at most one thread can join. From jay.krell at cornell.edu Wed Nov 4 06:57:34 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 4 Nov 2009 05:57:34 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091103202731.67CB32474001@birch.elegosoft.com> References: <20091103202731.67CB32474001@birch.elegosoft.com> Message-ID: In @paranoidgc I didn't want the heap alloc that the existing function to get the name as TEXT used but didn't notice that RTType.Get was also public. - Jay > Date: Tue, 3 Nov 2009 21:27:31 +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/11/03 21:27:31 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 > > Log message: > No need for TypecodeCharStar. > We can print using RTIO.PutString(RTType.Get(tc).name). > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Nov 4 07:26:22 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 4 Nov 2009 06:26:22 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <9297A70B-EFF8-4840-B0D0-867229867928@cs.purdue.edu> References: <20091103165432.B5EB62474001@birch.elegosoft.com> Message-ID: I already had the nearly working makecontext code before you sent the link. Wrote it months ago. Using sigalstack is much more portable? I'll try to get to it at some point..not soon/no promises. - Jay From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Tue, 3 Nov 2009 12:17:39 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Great catch! Hooray. Did you consider using the sigaltstack trick to implement makecontext rather than trolling around in the jmpbuf? On 3 Nov 2009, at 17:54, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 17:54:32 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Ignore stacks of threads that aren't yet fully initialized/running. Now Juno works on OpenBSD/x86 with user threads! -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Nov 5 18:26:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:26:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105172630.254F12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:26:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Uexec.i3 Unix.i3 Uprocess.i3 Usched.i3 Uugid.i3 Uuio.i3 Log message: Trivial merge/copy from head: remove external pragamas on interfaces, add one functions to correlate (just on vfork -- in our current scheme functions need their own anyway to affect the rename, except that vfork cannot be wrapped without violating Posix spec (and we never use vfork, we use fork instead, fork is just as fast (or slow, Cygwin) on all our platforms, vfork is left here just for some sort of compat..though it isn't even exactly compatible (NetBSD?))))) From jkrell at elego.de Thu Nov 5 18:37:08 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:37:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105173710.24F212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:37:08 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Uin.c Log message: copy/merge from head -- #include arpa/inet.h From jkrell at elego.de Thu Nov 5 18:41:25 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:41:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174128.2BDB12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:41:25 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTIO.i3 Log message: from head -- fix a comment From jkrell at elego.de Thu Nov 5 18:42:40 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:42:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174240.0EBAB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:42:40 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Upwd.i3 Log message: copy from head -- remove pragma extern on interfaces From jkrell at elego.de Thu Nov 5 18:49:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:49:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174933.7FB5F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:49:29 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Tag: release_branch_cm3_5_8 context.c context.h Log message: Trivial and so far moot copy/merge from head. - move #defines get/set/make/swapcontext Uucontext__get/set/make/swapcontext from .c to .h, so that over in ThreadPosix.c they can #include context.h and get them - only store the stack pointer for the first call to setjmp, not both These only matter if we port more stuff from head and then only for OpenBSD or (untested) pre-10.5 Darwin/PPC. (There is the minor matter of 10.4 Darwin/Intel.) From hosking at elego.de Thu Nov 5 18:53:44 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 18:53:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175345.A05AA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 18:53:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 ThreadPThreadC.c Log message: Revert state management to what it used to be. Add (hopefully correct) extraction of sp for OpenBSD. From jkrell at elego.de Thu Nov 5 18:54:32 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:54:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175432.B64D12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:54:32 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 RTCollectorSRC.i3 Log message: minor partial merge from head -- add do-nothing DisableVM for slightly improved source compatibility with older cm3 (slightly easier building of old cm3 against new m3core, which I sometimes run into investigating historical behavior and when things changed, which is a scenario that doesn't work well and is only a very minor improvement to) From jkrell at elego.de Thu Nov 5 18:56:22 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:56:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175622.AF7642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:56:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Usignal.i3 Log message: copy from head -- remove pragma extern on interfaces From jkrell at elego.de Thu Nov 5 19:52:47 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 19:52:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105185248.4393F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 19:52:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix typo and limit width to 80 (I'm not strict about this, but I happen to be in a narrow terminal and it is easy here); but it doesn't work anyway and is disabled, user threads for now From jkrell at elego.de Thu Nov 5 20:37:02 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 20:37:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105193702.876C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 20:37:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: use common code Self/SelfOrDie/XJoin though the diagnostics suffer slightly in terms of function name/line (we could pass them in, but that maybe is not worth the cost) From hosking at elego.de Thu Nov 5 21:54:38 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 21:54:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105205438.A30DD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 21:54:38 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Non-M3 threads should never hold Mutex or Condition references (otherwise the GC cannot find those references). Non-M3 threads should never call TestAlert. From hosking at elego.de Thu Nov 5 22:09:29 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 22:09:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105210929.99F2C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 22:09:29 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Fix compilation error. And eliminate GetActivation. From hosking at elego.de Thu Nov 5 22:15:40 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 22:15:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105211540.803812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 22:15:40 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's keep all calls to Self at the top-level entry points. From hosking at elego.de Thu Nov 5 23:13:33 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 23:13:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105221333.730602474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 23:13:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Print out errno for unexpected values. From hosking at elego.de Fri Nov 6 00:01:08 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 0:01:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105230108.354AD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 00:01:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Some more sanity checking for Mika. From hosking at elego.de Fri Nov 6 00:35:21 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 0:35:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105233522.1A57B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 00:35:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Another version for Mika to try. Not sure why we might need to extract the semaphore value yet again, but OK. From wagner at elego.de Fri Nov 6 01:36:39 2009 From: wagner at elego.de (Olaf Wagner) Date: Fri, 6 Nov 2009 1:36:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091106003640.9FF962474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/06 01:36:39 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html cm3/www/releng/: Tag: release_branch_cm3_5_8 download-frag.html index.html update-releng-index.sh Added files: cm3/www/releng/: Tag: release_branch_cm3_5_8 relnotes-5.8-RC4.html Log message: switch to RC4 From hosking at elego.de Fri Nov 6 19:28:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 19:28:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091106182838.0C31C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 19:28:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: The assertion may be wrong (cf. Boehm collector pthread_stop_world.c). From wagner at elego.de Sat Nov 7 19:56:36 2009 From: wagner at elego.de (Olaf Wagner) Date: Sat, 7 Nov 2009 19:56:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107185636.D96652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/07 19:56:36 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 index.html nav-home.html news.html Added files: cm3/www/: Tag: release_branch_cm3_5_8 olds.html startf.html Log message: split news and start page From wagner at elego.de Sat Nov 7 20:00:58 2009 From: wagner at elego.de (Olaf Wagner) Date: Sat, 7 Nov 2009 20:00:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107190058.DFAA82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/07 20:00:58 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 relnotes-5.8-RC4.html Log message: fix link From hosking at elego.de Sat Nov 7 20:39:24 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 7 Nov 2009 20:39:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107193924.212D22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/07 20:39:24 Modified files: cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: Drop ref to Upthread. From jkrell at elego.de Sat Nov 7 22:34:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:34:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107213428.211A22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:34:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: no need for these self variables that are only used once (except maybe where the order varies) From jkrell at elego.de Sat Nov 7 22:52:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:52:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107215256.C03B02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:52:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Slightly restructure for better code sharing and greater similarity with Pthread implementation (maybe we can share more code..) Copy the code from pthread as well for correctly dealing with an alert within AlertWait. From jkrell at elego.de Sat Nov 7 22:55:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107215505.EDEF82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:55:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: need to clear join after broadcast for the Alert during AlertWait code, like pthread From hosking at elego.de Sun Nov 8 09:19:08 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 8 Nov 2009 9:19:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108081908.CD24C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/08 09:19:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: m3makefile cm3/m3-libs/m3core/src/unix/darwin-generic/: m3makefile cm3/m3-libs/m3core/src/unix/freebsd-4/: m3makefile cm3/m3-libs/m3core/src/unix/linux-libc6/: m3makefile cm3/m3-libs/m3core/src/unix/solaris-2-x/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.c Upthread.i3 cm3/m3-libs/m3core/src/unix/darwin-generic/: Upthread.i3 Upthread.m3 cm3/m3-libs/m3core/src/unix/freebsd-4/: Upthread.i3 cm3/m3-libs/m3core/src/unix/linux-libc6/: Upthread.i3 cm3/m3-libs/m3core/src/unix/solaris-2-x/: Upthread.i3 Log message: Rework ThreadPThread to avoid use of deprecated Upthread.i3. Delete Upthread files. Rework ThreadPThread to avoid expensive Self() call on thread primitives by putting the thread state in the (UNTRACED) Activation rather than Thread.T. Be much more cautious about resending signals to avoid too many acks. Hopefully this will fix the reported errors on FreeBSD7. Needs thorough testing on all platforms (help appreciated). Tested on I386_DARWIN, but needs testing on non-Darwin systems that use signals to stop threads. From hosking at elego.de Sun Nov 8 22:17:11 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 8 Nov 2009 22:17:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108211711.7302BCC369@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/08 22:17:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: This appears to work on Mika's AMD64_FREEBSD box, at least for p007. Further testing needed. Hopefully should also fix the problems on OpenBSD? From jkrell at elego.de Sun Nov 8 22:42:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 8 Nov 2009 22:42:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108214257.77458CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 22:42:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline InitActivations into its only caller Init From jkrell at elego.de Sun Nov 8 23:22:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 8 Nov 2009 23:22:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108222205.CD0302474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 23:22:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline RunThread in its only caller ThreadBase From jkrell at elego.de Mon Nov 9 00:06:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:06:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108230643.DE61B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:06:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: update coment to not refer to RunThread that I removed From jkrell at elego.de Mon Nov 9 00:09:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:09:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108230922.0D7202474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:09:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: please, no tabs From jkrell at elego.de Mon Nov 9 00:37:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:37:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108233705.89972CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:37:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: reduce critical section slightly (I don't think the locking is needed here at all actually.) From jkrell at elego.de Mon Nov 9 00:43:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:43:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108234316.240272474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:43:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: something odd here, go back a version From jkrell at elego.de Mon Nov 9 00:49:37 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:49:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108234937.DDFC0CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:49:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: go back to Tony's version 163 otherwise I intermittently get: *** *** runtime error: *** Thread client error: unslotted thread! *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 360 *** which I think may indicate some other bug or fragility From hosking at cs.purdue.edu Mon Nov 9 01:11:30 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:11:30 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091108214257.77458CC368@birch.elegosoft.com> References: <20091108214257.77458CC368@birch.elegosoft.com> Message-ID: <87C97B8B-1744-4550-9E20-BDF9098CD40E@cs.purdue.edu> Don't do that! Let the compiler do it if it decides to. The separation is conceptually important! 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 8 Nov 2009, at 22:42, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/08 22:42:56 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > inline InitActivations into its only caller Init -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 9 01:11:57 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:11:57 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091108222205.CD0302474001@birch.elegosoft.com> References: <20091108222205.CD0302474001@birch.elegosoft.com> Message-ID: Also, no! We want to maintain the conceptual separation between the traced and untraced worlds! 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 8 Nov 2009, at 23:22, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/08 23:22:05 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > inline RunThread in its only caller ThreadBase -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:14:25 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:14:25 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091108222205.CD0302474001@birch.elegosoft.com> Message-ID: I undid this, sorry. From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Sun, 8 Nov 2009 19:11:57 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Also, no! We want to maintain the conceptual separation between the traced and untraced worlds! 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 8 Nov 2009, at 23:22, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 23:22:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline RunThread in its only caller ThreadBase -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:16:30 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:16:30 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <87C97B8B-1744-4550-9E20-BDF9098CD40E@cs.purdue.edu> References: <20091108214257.77458CC368@birch.elegosoft.com> Message-ID: Is it really? Thread.Init vs. Thread.InitActivations? I undid it because I was undoing other stuff but this part seems ok to me. It is sometimes easier to see relationships by inlining, when one small function calls another, I actually can't see enough on my screen at once (as opposed to the more normal problem of functions being too long to see enough). ThreadBase vs. RunThread there are issues there, I'll leave it as you left it. - Jay From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Sun, 8 Nov 2009 19:11:30 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Don't do that! Let the compiler do it if it decides to. The separation is conceptually important! 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 8 Nov 2009, at 22:42, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 22:42:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline InitActivations into its only caller Init -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 9 01:22:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:22:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109002216.D0F112474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:22:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: no locking needed here, during startup From hosking at elego.de Mon Nov 9 01:36:41 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 1:36:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109003642.6AE032474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 01:36:41 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: OK, fine, yes we don't need to lock in InitActivations. But why bother with the repeated assertions. From jay.krell at cornell.edu Mon Nov 9 01:41:46 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:41:46 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091109003642.6AE032474001@birch.elegosoft.com> References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: The repeated assertions somewhat ensure there was no race. Ok with removing them. - Jay > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > OK, fine, yes we don't need to lock in InitActivations. > But why bother with the repeated assertions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 9 01:45:13 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:45:13 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: <2BE6DA34-B3A0-4445-A707-23A529C652B2@cs.purdue.edu> You have no guarantee there is no race anyway, since there is no synchronization to let you see the real state of things. On 8 Nov 2009, at 19:41, Jay K wrote: > The repeated assertions somewhat ensure there was no race. Ok with > removing them. > > - Jay > > > > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > > > Log message: > > OK, fine, yes we don't need to lock in InitActivations. > > But why bother with the repeated assertions. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:47:31 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:47:31 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <2BE6DA34-B3A0-4445-A707-23A529C652B2@cs.purdue.edu> References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: ok 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: Sun, 8 Nov 2009 19:45:13 -0500 You have no guarantee there is no race anyway, since there is no synchronization to let you see the real state of things. On 8 Nov 2009, at 19:41, Jay K wrote: The repeated assertions somewhat ensure there was no race. Ok with removing them. - Jay > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > OK, fine, yes we don't need to lock in InitActivations. > But why bother with the repeated assertions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 9 01:54:31 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:54:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109005431.CC291CC36B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:54:31 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: eliminate locking of reading slots ensure the writing is done with a careful ordering, using MemoryBarrier slots has high use on Win32 but low use now in pthreads (essentially Modula-3 Win32 threads had two big locks affecting "all" thread options, now down to one) From jkrell at elego.de Mon Nov 9 01:58:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:58:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109005822.E68312474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:58:22 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: tweak From jkrell at elego.de Mon Nov 9 02:11:38 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 2:11:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109011138.4EC3F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 02:11:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: remove locking from FreeSlot also, using InterlockedIncrement/Decrement on n_slotted From jkrell at elego.de Mon Nov 9 05:28:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:28:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109042847.BC7F92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:28:47 Added files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Atomic.i3 m3makefile Log message: experiment/prototype implementation of Atomic.MemoryBarrier for Win32, gcc, and Solaris (I know that is apples and oranges, but it isn't nonsense.) From jkrell at elego.de Mon Nov 9 05:29:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:29:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109042944.4607D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:29:44 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: fix for older Microsoft headers/compiler From jkrell at elego.de Mon Nov 9 05:49:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:49:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109044920.590842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:49:19 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: support for gcc < 4, x86 only for now (OpenBSD) From jkrell at elego.de Mon Nov 9 05:49:41 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:49:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109044941.99E4C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:49:41 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: remove newline From jkrell at elego.de Mon Nov 9 05:52:35 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:52:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045235.9116E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:52:35 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: cleanup From jkrell at elego.de Mon Nov 9 05:55:33 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:55:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045533.2AEA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:55:33 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: support older Microsoft compilers with maximal warnings (see m3unix.h) From jkrell at elego.de Mon Nov 9 05:58:13 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:58:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045813.B03AB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:58:13 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.i3 Log message: fix From jkrell at elego.de Mon Nov 9 05:58:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:58:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045844.CC41F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:58:44 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: enable atomic, probably will need interface policing From jkrell at elego.de Mon Nov 9 06:10:27 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 6:10:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109051027.57FE22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 06:10:27 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: calling convention From jkrell at elego.de Mon Nov 9 06:13:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 6:13:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109051305.CED832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 06:13:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: use Atomic.MemoryBarrier instead of ThreadWin32.MemoryBarrier From hosking at elego.de Mon Nov 9 17:14:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 17:14:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109161439.938072474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 17:14:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: ThreadPThread.s no longer exists here. From hosking at elego.de Mon Nov 9 22:39:02 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 22:39:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109213902.701C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 22:39:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachineASM.s cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachineASM.s Log message: Move SPARC window flushing code into C files as ASM. Eliminates a couple of files, and makes things more modular. From hosking at elego.de Mon Nov 9 23:31:33 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:31:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223133.CF5F02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:31:33 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.i3 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.i3 RTStackC.c cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTMachine.i3 m3makefile Log message: Clean up for compilation on both 64-bit and 32-bit. Need to verify that SPARC64_SOLARIS FrameInfo is correct before enabling stack walking on 64-bit. From hosking at elego.de Mon Nov 9 23:32:59 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:32:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223300.022FF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:32:59 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/AMD64_DARWIN/: 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/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/FreeBSD4/: 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/I386_DARWIN/: 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/LINUXLIBC6/: 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/PPC_DARWIN/: 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: Trash unnecessary code from old user-threads implementation. From hosking at elego.de Mon Nov 9 23:37:00 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:37:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223700.6BF222474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:37:00 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: Current atomic breaks on Mac OS X. Disable. From hosking at elego.de Mon Nov 9 23:38:15 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:38:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223815.C71E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:38:15 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Avoid warning. From hosking at elego.de Tue Nov 10 04:47:30 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:47:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034731.C85652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:47:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Put the memory barrier stuff here if it is needed for MSC. Generally, I prefer using the already-supported gcc intrinsics, which give inline instructions where needed. On x86, a StoreLoad membar can also be implemented using CAS/CASP builtins. This will be preferred for other targets than WIN32. Jay should decide what he wants to do. It can easily be supported by implementing the __sync_* functions that the gcc-based backend otherwise implements as intrinsics. Beware for now that the current gcc-based backend is not up-to-date for proper generation of mfence on x86. We need to move to a later version of gcc (gcc-4.4.1?) for that. Also, I am unconvinced that the current implementation of AssignSlot can ever be correct without the critical section. It requires atomic update of both the slots array pointer (with the new slots) *and* the array elements. This requires a proper CS instead of non-blocking synchronization. From hosking at elego.de Tue Nov 10 04:47:49 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:47:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034750.D823A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:47:49 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: Put the memory barrier stuff here if it is needed for MSC. Generally, I prefer using the already-supported gcc intrinsics, which give inline instructions where needed. On x86, a StoreLoad membar can also be implemented using CAS/CASP builtins. This will be preferred for other targets than WIN32. Jay should decide what he wants to do. It can easily be supported by implementing the __sync_* functions that the gcc-based backend otherwise implements as intrinsics. Beware for now that the current gcc-based backend is not up-to-date for proper generation of mfence on x86. We need to move to a later version of gcc (gcc-4.4.1?) for that. Also, I am unconvinced that the current implementation of AssignSlot can ever be correct without the critical section. It requires atomic update of both the slots array pointer (with the new slots) *and* the array elements. This requires a proper CS instead of non-blocking synchronization. From hosking at elego.de Tue Nov 10 04:49:15 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:49:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034915.4FF0D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:49:15 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: Ditch atomic here. Use CAS/CASP builtins in preference. From hosking at elego.de Tue Nov 10 05:02:14 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 5:02:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110040214.A26932474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 05:02:14 Removed files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Atomic.i3 m3makefile Log message: Ditch atomic here. Use CAS/CASP builtins in preference. From hosking at elego.de Tue Nov 10 17:55:56 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 17:55:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110165556.481282474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 17:55:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: FreeBSD seems to lose signals somehow... So, let's be even more precise about states and signaling. From jkrell at elego.de Wed Nov 11 06:41:37 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 6:41:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111054137.880462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 06:41:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: cleanup (extern C, include atomic.h) From jkrell at elego.de Wed Nov 11 07:18:07 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 7:18:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111061808.453822474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 07:18:07 Modified files: cm3/m3-libs/m3core/src/win32/: WinNT.i3 WinNTc.c m3makefile Log message: cleanup WinNT__MemoryBarrier From jkrell at elego.de Wed Nov 11 07:21:05 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 7:21:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111062105.97ACC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 07:21:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 ThreadWin32C.c Log message: use windows.h MemoryBarrier if available or WinNT__MemoryBarrier From hosking at elego.de Sat Nov 14 22:23:46 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:23:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114212346.9B45B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:23:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Use thread suspend/resume primitives on FreeBSD. I've tested p007 with this and it works fine on Mika's FreeBSD machine. Further testing needed please! Cleaned up thread state processing code. Made static mutexes directly accessible to eliminate special-purpose mutex routines. From hosking at elego.de Sat Nov 14 22:39:18 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:39:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114213918.EB7D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:39:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Some assertions for OpenBSD. From hosking at elego.de Sat Nov 14 22:41:39 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114214139.10EA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:41:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Reorder for readability. From wagner at elego.de Sun Nov 15 13:38:20 2009 From: wagner at elego.de (Olaf Wagner) Date: Sun, 15 Nov 2009 13:38:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091115123820.51F5B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/15 13:38:20 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html top.html Log message: add link to contributed Debian archives From jkrell at elego.de Tue Nov 17 01:10:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:10:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117001056.7D9192474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:10:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: replace __0OpenBSD__ with __OpenBSD__ From jkrell at elego.de Tue Nov 17 01:12:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:12:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117001235.E75C0CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:12:35 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: replace Apple | FreeBSD | OpenBSD with M3_DIRECT_SUSPEND From jkrell at elego.de Tue Nov 17 01:20:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:20:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002009.2B0032474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:20:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: move all #includes to top rename CUSTOM_SUSPEND_ASSERT_FALSE to M3_DIRECT_SUSPEND_ASSERT_FALSE fprintf and abort after assert(0) From jkrell at elego.de Tue Nov 17 01:21:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:21:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002113.56FD0CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:21:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: remove redundant #define of ZeroMemory From jkrell at elego.de Tue Nov 17 01:25:20 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:25:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002520.62BAD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:25:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: ThreadPThread__SuspendThread and ThreadPThread__RestartThread are identical for OpenBSD and FreeBSD, don't duplicate them (we can probably use same for others such as NetBSD, Irix, AIX, and almost the same for Solaris) From jkrell at elego.de Tue Nov 17 01:26:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:26:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002635.8C34A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:26:35 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: remove tentative (#if 0'ed) use of __thread From jkrell at elego.de Tue Nov 17 01:32:44 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:32:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117003244.717E4CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:32:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: comments and fix #if/#endif From hosking at cs.purdue.edu Tue Nov 17 03:27:34 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 16 Nov 2009 21:27:34 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091117002520.62BAD2474001@birch.elegosoft.com> References: <20091117002520.62BAD2474001@birch.elegosoft.com> Message-ID: Please don't use suspend, etc. for Solaris. On 17 Nov 2009, at 01:25, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/17 01:25:20 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > ThreadPThread__SuspendThread and ThreadPThread__RestartThread are > identical for OpenBSD and FreeBSD, don't duplicate them > (we can probably use same for others such as NetBSD, Irix, AIX, > and almost the same for Solaris) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Nov 17 20:58:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:58:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195809.0395F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:58:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix for SOLgnu (and probably SOLsun, SPARC{32,64}_{SOLARIS,LINUX,FREEBSD,OPENBSD,etc.}) ThreadPThreadC.c From jkrell at elego.de Tue Nov 17 20:58:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:58:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195839.069412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:58:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix From jkrell at elego.de Tue Nov 17 20:59:54 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:59:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195954.B5BC12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:59:54 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: better: remove ThreadPThread__SaveRegsInStack entirely for most platforms From jkrell at elego.de Tue Nov 17 21:05:01 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 21:05:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117200501.7EDCE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 21:05:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThreadC.c Log message: wrap everything From hosking at elego.de Tue Nov 17 21:23:56 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Nov 2009 21:23:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117202356.2F9582474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/17 21:23:56 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: SaveRegsInStack is a *static* asm (not embedded in the body of a C-level function). The C *declaration* is there only for C calls. Tidy up a few symbols as well. From jay.krell at cornell.edu Tue Nov 17 23:39:35 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Tue, 17 Nov 2009 14:39:35 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091117202356.2F9582474001@birch.elegosoft.com> References: <20091117202356.2F9582474001@birch.elegosoft.com> Message-ID: <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> Yeah sorry I later realized my version must be wrong, what with all the directives. I'm pretty sure I was up to date though and previous didn't work. - Jay (phone) On Nov 17, 2009, at 9:23 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/11/17 21:23:56 > > Modified files: > cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > SaveRegsInStack is a *static* asm (not embedded in the body of a > C-level > function). The C *declaration* is there only for C calls. > Tidy up a few symbols as well. > > From jkrell at elego.de Wed Nov 18 11:10:10 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Nov 2009 11:10:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091118101010.81B882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/18 11:10:10 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix From jay.krell at cornell.edu Wed Nov 18 23:18:39 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 18 Nov 2009 22:18:39 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> References: <20091117202356.2F9582474001@birch.elegosoft.com>, <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> Message-ID: It works (compile/link). I was probably out of date at the time, sorry. - Jay > From: jay.krell at cornell.edu > To: hosking at elego.de > Date: Tue, 17 Nov 2009 14:39:35 -0800 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Yeah sorry I later realized my version must be wrong, what with all > the directives. I'm pretty sure I was up to date though and previous > didn't work. > > - Jay (phone) > > On Nov 17, 2009, at 9:23 PM, hosking at elego.de (Antony Hosking) wrote: > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/11/17 21:23:56 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c > > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > > > Log message: > > SaveRegsInStack is a *static* asm (not embedded in the body of a > > C-level > > function). The C *declaration* is there only for C calls. > > Tidy up a few symbols as well. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 20 09:17:47 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:17:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120081747.735A12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:17:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.h Log message: remove unused declaration From jkrell at elego.de Fri Nov 20 09:27:54 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:27:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120082754.41B522474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:27:54 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: inactive attempt at http://www.usenix.org/event/usenix2000/general/full_papers/engelschall/engelschall.pdf which would be much more portable than what we currently have for OpenBSD (which lacks get/set/make/swapcontext, as well as decent pthread implementation, though I will retest pthreads shortly) doesn't seem to work I must have something simple wrong. It does seem dangerous to call sigaltstack with any signals other than SIGUSR1 enabled. From jkrell at elego.de Fri Nov 20 09:49:24 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:49:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120084926.221612474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:49:24 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix my mista;e ThreadPThread__SaveRegsInStack is referenced from Modula-3 so must remain here for all platforms From jkrell at elego.de Fri Nov 20 10:13:44 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:13:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120091344.3C5882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:13:44 Added files: cm3/m3-libs/m3core/src/: Tag: release_branch_cm3_5_8 platforms.quake cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadInternal.i3 Log message: new files from head From jkrell at elego.de Fri Nov 20 10:27:25 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:27:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120092725.ACE1D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:27:25 Modified files: cm3/m3-libs/m3core/src/win32/: Tag: release_branch_cm3_5_8 WinNT.i3 WinNTc.c m3makefile Log message: minor merge from head: m3_MemoryBarrier => WinNT__MemoryBarrier From jkrell at elego.de Fri Nov 20 10:39:57 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:39:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120093958.2E4F32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:39:57 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 Log message: ThreadF => ThreadInternal From jkrell at elego.de Fri Nov 20 11:19:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:19:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120101923.712C12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:19:23 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 RTSignal.m3 cm3/m3-libs/m3core/src/runtime/WIN32/: Tag: release_branch_cm3_5_8 RTOS.m3 cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTAllocator.m3 RTCollector.m3 RTHeapStats.m3 RTLinker.m3 cm3/m3-libs/m3core/src/runtime/ex_frame/: Tag: release_branch_cm3_5_8 RTExFrame.m3 RTException.m3 cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.i3 ThreadPosix.m3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 m3makefile cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 m3makefile Removed files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadUnsafe.i3 cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadInternal.i3 Log message: merge from head: ThreadF/ThreadUnsafe => ThreadInternal (except for ThreadF.MyId, Id, State) From jkrell at elego.de Fri Nov 20 11:31:35 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:31:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120103135.E64AE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:31:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTLinker.m3 RTLinkerX.i3 Log message: fix: ThreadF => ThreadInternal From jkrell at elego.de Fri Nov 20 11:46:02 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:46:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120104603.BEE63CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:46:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UtimeC.c m3unix.h Log message: merge from head: timespec_t => timespec_T to avoid warning due to newer Sun headers having the same typedef From jkrell at elego.de Fri Nov 20 11:51:09 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:51:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120105109.C1D992474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:51:09 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix newlines From jkrell at elego.de Fri Nov 20 11:54:22 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:54:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120105422.695A1CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:54:22 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: partial merge from head: for now just the added lines From jkrell at elego.de Fri Nov 20 12:15:55 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:15:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120111555.A4DF3CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:15:55 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix From jkrell at elego.de Fri Nov 20 12:22:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:22:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112230.60ADE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:22:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix for more premature merging From jkrell at elego.de Fri Nov 20 12:25:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:25:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112530.74756CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:25:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UnixC.c Usocket.c UtimeC.c Log message: more careful merging from head assert => M3_STATIC_ASSERT new assertions about times and sockets, not yet taken advantage of (head takes advantage of them, to reduce Usysdep.i3) From jkrell at elego.de Fri Nov 20 12:28:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:28:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112833.4BD262474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:28:33 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UtimeC.c Log message: altzone fix from head (based on Python -- subtract an hour) From hosking at elego.de Fri Nov 20 16:13:31 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 20 Nov 2009 16:13:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120151332.096DC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/20 16:13:31 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Does OpenBSD not report a reliable stack pointer for stopped threads? If not, then we have no way except to scan from sp to sp+size. What does this mean for FreeBSD? Is it just as broken? Yuck. From jkrell at elego.de Fri Nov 20 20:28:03 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:28:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120192803.30AA4CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:28:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: change tabs to spaces, for consistent rendering in editors that default to 4 space tabs From jkrell at elego.de Fri Nov 20 20:32:55 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:32:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193255.B03DA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:32:55 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: favor char* over void* it is more amenable to comparison and arithmetic, esp. w/o relying on gcc-isms and adding casts From jkrell at elego.de Fri Nov 20 20:34:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:34:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193446.BF27C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:34:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:37:56 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:37:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193757.0685ACC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:37:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:40:11 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:40:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120194011.B40A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:40:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:42:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120194251.57F9A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:42:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: twiddle between char* and void* more From hosking at cs.purdue.edu Fri Nov 20 20:37:07 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 20 Nov 2009 14:37:07 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091120192803.30AA4CC3BE@birch.elegosoft.com> References: <20091120192803.30AA4CC3BE@birch.elegosoft.com> Message-ID: i.e., broken editors. On 20 Nov 2009, at 20:28, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/20 20:28:03 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > change tabs to spaces, for consistent rendering in editors that > default to 4 space tabs -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 20 21:04:14 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:04:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120200414.E2D2C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:04:14 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add pthread_attr_destroy in the FreeBSD case see http://www.freebsd.org/cgi/man.cgi?query=pthread_attr_get_np&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html From jkrell at elego.de Fri Nov 20 21:28:00 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:28:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120202800.C563ACC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:28:00 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: eliminate more tabs From jkrell at elego.de Fri Nov 20 21:30:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:30:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120203043.06A162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:30:42 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: remove non-working M3_THREADS_USE_SIGALTSTACK_AND_JMPBUF for now for now stuck with non-portable jmpbuf groveling on OpenBSD From jay.krell at cornell.edu Fri Nov 20 22:06:01 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Fri, 20 Nov 2009 13:06:01 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091120151332.096DC2474001@birch.elegosoft.com> References: <20091120151332.096DC2474001@birch.elegosoft.com> Message-ID: The FreeBSD and OpenBSD interfaces seem different enough such that worry does not transfer? "stack" vs. "stackseg"? Besides FreeBSD being more mainstream? Besides checking Java (OpenBSD) and Boehm? OpenBSD interface does not even seem to offer what we want? For some definition of "top" of stack? Ie "the highest address"?? Seems odd. - Jay (phone) On Nov 20, 2009, at 4:13 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/11/20 16:13:31 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > Does OpenBSD not report a reliable stack pointer for stopped > threads? If not, > then we have no way except to scan from sp to sp+size. > > What does this mean for FreeBSD? Is it just as broken? Yuck. > > From hosking at elego.de Fri Nov 20 22:19:01 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 20 Nov 2009 22:19:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120211901.61ECACC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/20 22:19:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Let's try this for OpenBSD stackseg brokenness. From rcoleburn at elego.de Sat Nov 21 00:01:04 2009 From: rcoleburn at elego.de (Randy Coleburn) Date: Sat, 21 Nov 2009 0:01:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120230105.982F2CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rcoleburn at birch. 09/11/21 00:01:03 Added files: cm3/m3-sys/m3tests/src/p2/p213/: Main.m3 m3makefile stderr.build stderr.pgm stdout.build stdout.pgm Log message: Add new test folder, p213, and files for "Mutex Checker" test program.--Randy Coleburn From rcoleburn at elego.de Sat Nov 21 00:01:57 2009 From: rcoleburn at elego.de (Randy Coleburn) Date: Sat, 21 Nov 2009 0:01:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120230158.15D3ECC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rcoleburn at birch. 09/11/21 00:01:57 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: Add p213 test case for new "Mutex Checker" test program.--Randy Coleburn From jkrell at elego.de Sat Nov 21 11:53:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:53:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105317.5B4772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:53:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: MyFPState, MyHeapState, SetSwitchingInterval, DisableSwitching, EnableSwitching From jkrell at elego.de Sat Nov 21 11:57:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:57:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105705.EE60C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:57:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState, MyHeapState, SetSwitchingInterval, DisableSwitching, EnableSwitching From jkrell at elego.de Sat Nov 21 11:59:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:59:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105904.ABD892474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:59:04 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState From jkrell at elego.de Sat Nov 21 20:06:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:06:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121190659.912EBCC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:06:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: merge from head: make the static mutexes and condition variables variables instead of pairs of functions From jkrell at elego.de Sat Nov 21 20:09:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:09:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121190901.E3DBCCC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:09:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: merge from head: make the static mutexes and condition variables variables instead of functions From jkrell at elego.de Sat Nov 21 20:16:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:16:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121191634.D54B2CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:16:34 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: merge from head: no more use of Upthread (define things locally) From jkrell at elego.de Sat Nov 21 20:18:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:18:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121191829.99269CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:18:29 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: just always use 'THREAD_LOCAL_SLOW' From jkrell at elego.de Sat Nov 21 20:20:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:20:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192017.BF65C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:20:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: slotMu vs. slotsMu From jkrell at elego.de Sat Nov 21 20:21:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:21:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192148.C09472474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:21:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: just always use 'THREAD_LOCAL_SLOW' From jkrell at elego.de Sat Nov 21 20:22:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:22:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192229.4DD5D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:22:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: slotMu vs. slotsMu (comment only) From jkrell at elego.de Sat Nov 21 20:23:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:23:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192354.EE4512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:23:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: remove extra #define ZeroMemory From jkrell at elego.de Sat Nov 21 20:25:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:25:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192544.C97512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:25:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 Log message: merge from head: wrap pthread_mutex_lock and pthread_mutex_unlock in C From jkrell at elego.de Sat Nov 21 20:28:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:28:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192843.5DEA12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:28:42 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: merge from head: use local wrappers instead of Upthread From jkrell at elego.de Sat Nov 21 20:33:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:33:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193351.D99002474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:33:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: COPY wholesale from head including use pthread_suspend/resume_np on FreeBSD instead of signal/semaphore (and pthread_attr_getstack) similar attempts on OpenBSD, but it doesn't work movement of C and assembly code (esp. for Apple and Solaris) From jkrell at elego.de Sat Nov 21 20:35:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:35:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193528.761BECC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:35:27 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: #error for OpenBSD, it doesn't work and anyone working on it can remove the #error From jkrell at elego.de Sat Nov 21 20:37:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:37:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193711.8AE0F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:37:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: just dump all the OpenBSD code From jkrell at elego.de Sat Nov 21 20:38:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:38:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193834.CD886CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:38:32 Modified files: cm3/m3-libs/m3core/src/: Tag: release_branch_cm3_5_8 thread.quake Log message: switch OpenBSD/x86 to user threads (which need to be merged/copied as well) From jkrell at elego.de Sat Nov 21 20:41:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:41:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121194103.A24702474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:41:03 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.h ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: COPY wholesale from head From jkrell at elego.de Sat Nov 21 20:57:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:57:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121195721.46414CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:57:21 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NT386GNU/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile Log message: COPY from head removal of various user threading support most of this had to do with poking jmp_buf just right, but we now use get/set/make/swapcontext instead which abstracts that, except for OpenBSD (and possibly old Darwin) where we do the work in #ifdef'ed C also manually compute numbers instead of using Word.Shift deletes to follow From jkrell at elego.de Sat Nov 21 21:06:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:06:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121200616.882762474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:06:16 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove SetSwitchingInterval From jkrell at elego.de Sat Nov 21 21:24:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:24:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202402.A97282474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:24:02 Removed files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachineASM.s RTThreadC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachineASM.s RTThreadC.c cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTThreadC.c Log message: copy from head: delete all the RTThreadC.c files delete SOLgnu/RTMachineASM.s (moved into RTStackC.c) delete SOLsun/RTMachineASM.s (moved into RTStackC.c) From jkrell at elego.de Sat Nov 21 21:28:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:28:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202841.BEF0B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:28:41 Removed files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTThread.m3 Log message: copy from head: delete all RTThread.m3 files From jkrell at elego.de Sat Nov 21 21:29:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:29:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202928.B92462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:29:28 Removed files: cm3/m3-libs/m3core/src/runtime/HPPA/: RTThread.m3.sav Log message: delete another RTThread.m3 From jkrell at elego.de Sat Nov 21 21:29:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:29:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202957.F194D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:29:57 Removed files: cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThread.m3.sav Log message: delete another RTThread.m3 From jkrell at elego.de Sat Nov 21 21:45:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:45:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204533.D0B802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:45:32 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/novm/: m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: m3makefile cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: m3makefile cm3/m3-libs/m3core/src/runtime/SPARC/: m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: m3makefile Log message: make RTMachine private on all platforms notice it already was on SOLgnu/SOLsun From jkrell at elego.de Sat Nov 21 21:47:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:47:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204723.B38FE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:47:23 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/novm/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NT386GNU/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 m3makefile Log message: make RTMachine private on all platforms it already was on SOLsun/SOLgnu From jkrell at elego.de Sat Nov 21 21:48:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:48:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204858.6B52C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:48:58 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 m3makefile Log message: remove RTThread and RTThreadStk From jkrell at elego.de Sat Nov 21 21:50:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:50:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121205048.10D882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:50:48 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 RTMachine.i3 Log message: COPY from head From jkrell at elego.de Sat Nov 21 21:52:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:52:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121205212.4BDE32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:52:12 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 m3makefile Log message: COPY from head, I thought I got this earlier From jkrell at elego.de Sun Nov 22 00:54:52 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 0:54:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121235452.E67022474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 00:54:52 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTStackC.c Log message: copy from head; will change more later, once things back to working From jkrell at elego.de Sun Nov 22 01:08:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 1:08:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122000833.70B56CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 01:08:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: fix parameter order to pthread_cond_wait -- cond then mu, not mu then cond, Solaris nicely fails an assert on this exact line From jkrell at elego.de Sun Nov 22 01:10:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 1:10:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122001053.8E57A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 01:10:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: copy from release: fix parameter order to pthread_cond_wait -- cond then mu, not mu then cond, Solaris nicely fails an assert on this exact line From jkrell at elego.de Sun Nov 22 02:39:09 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 2:39:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122013910.213A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 02:39:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: This should fix SOLsun. Sun cc doesn't support asm outside of functions. Rather than fight assembly details, use setjmp/longjmp. From jkrell at elego.de Sun Nov 22 03:07:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:07:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122020715.B6899CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:07:15 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: assembly outside a function doesn't work with Sun cc, use setjmp/longjmp instead From jkrell at elego.de Sun Nov 22 03:07:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:07:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122020756.2AC8A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:07:56 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: comments From jkrell at elego.de Sun Nov 22 03:15:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:15:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122021512.B3EF1CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:15:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix confusing code -- missing brace From jkrell at elego.de Sun Nov 22 03:21:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:21:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122022119.C9E152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:21:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: split into two implementations to avoid confusing #if in the middle of code From jkrell at elego.de Sun Nov 22 03:22:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:22:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122022222.E1C142474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:22:22 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: restore optimzation based on existing setjmp From jkrell at elego.de Sun Nov 22 03:35:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:35:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122023520.4CDE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:35:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: restructure slightly to share code, and avoid double scan of registers on sparc (seems applicable on all architectures, really) From hosking at cs.purdue.edu Sun Nov 22 04:16:22 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 21 Nov 2009 22:16:22 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122013910.213A52474001@birch.elegosoft.com> References: <20091122013910.213A52474001@birch.elegosoft.com> Message-ID: <6E22B7A1-48DE-4FFF-B35B-FE8286919F4C@cs.purdue.edu> Are you sure this does the right thing? The address of the jmpbuf may not be a sufficiently placed stack pointer. On 22 Nov 2009, at 02:39, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/22 02:39:09 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > This should fix SOLsun. > Sun cc doesn't support asm outside of functions. > Rather than fight assembly details, use setjmp/longjmp. From hosking at cs.purdue.edu Sun Nov 22 04:16:58 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 21 Nov 2009 22:16:58 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122020715.B6899CC3C0@birch.elegosoft.com> References: <20091122020715.B6899CC3C0@birch.elegosoft.com> Message-ID: Huh? I think it does work. On 22 Nov 2009, at 03:07, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/22 03:07:15 > > Modified files: > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > > Log message: > assembly outside a function doesn't work with Sun cc, use setjmp/longjmp instead -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 22 04:58:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 4:58:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122035850.1CAB82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 04:58:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: ignore the SOLsun issue for now From jkrell at elego.de Sun Nov 22 05:00:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:00:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040050.8E9902474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:00:50 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: copy from head: affect is to remove OpenBSD support and twiddle the sparc stuff inconsequentially (comments and reordering that doesn't matter); still ignoring SOLsun, until everything else works From jkrell at elego.de Sun Nov 22 05:04:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:04:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040435.5122D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:04:34 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: mainly: #if defined(__ppc__) || defined(__ppc64__) #include #endif and small tweaks From jkrell at elego.de Sun Nov 22 05:05:36 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:05:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040537.245B82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:05:36 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: copy from head, for #include From jkrell at elego.de Sun Nov 22 05:11:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:11:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122041149.369732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:11:48 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: add MyFPState From jkrell at elego.de Sun Nov 22 05:12:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:12:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122041253.B440ACC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:12:53 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: add ProcessEachStack (that just asserts false) From jkrell at elego.de Sun Nov 22 06:06:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 6:06:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122050648.E478E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 06:06:47 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: import FloatMode From jkrell at elego.de Sun Nov 22 08:20:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 8:20:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122072024.B9C462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 08:20:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadContext.i3 Log message: flatten namespace by using FROM Foo IMPORT Bar instead of just IMPORT Foo and then use Foo.Bar From jkrell at elego.de Sun Nov 22 10:19:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:19:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122091918.333BE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:19:17 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Win32 ProcessStacks had a hack where if the stack pointer was more than 10K below the stack top, it would use VirtualQuery to ensure the pages are readable. The comment was that this was to workaround Windows 95 sometimes returning incorrect stack pointers. While I'm not testing Windows 95 here, and I should, modify the code like so: At thread creation (and special case first thread), compute the stack bounds accurately. (again, only tested on NT) Move GetThreadContext from ProcessStacks to SuspendOthers. When we GetThreadContext, if the stack is not in bounds, treat it like a "busy" thread and resume it and try again later. NOTE that GetThreadContext is documented as not working on the current thread, but the previous code did exactly that. Perhaps that was the problem? The current thread's stack pointer is trivial to compute of course, no need for GetThreadContext. Testing is advised on Win9x, though I personally haven't run that in years and hardly ever did. In the previous code, see of course ProcessStacks, and VerifySP. This likely had the affect as well of, when the stack went beyond 10K, to round the stack pointer down to the next page, scanning a little extra garbage (which if you consider that "most objects die young", probably had a good chance of causing retention of otherwise garbage? But I have no data.) (Nice side effect here, of course, is decreased dependency on cloned headers, since I always strive to use C to interact with the underlying system that is described with C headers.) Unfortunate side affect here is increased memory use because the CONTEXT is now in Activation, in order to get from SuspendOthers to ProcessStacks. We might do better to allocate an array of CONTEXT in SuspendOthers. We might do better also to use a "mini context" since we only use a small fraction of the context (just the control and integer registers, not the rather larger floating point state nor the segment registers, debug registers, status flags, etc. since they can't contain pointers.. or can they? well, not with our backend..hm) Furthermore, of course, we should abstract this code to not be so x86 specific. With this change, the stack bounds are very well known, and the "end" value is "just past the end", the first byte of the first page after the stack. It might be wise to subtract one from this. Previously we used an approximate end of stack that pointed to an actual untraced value on the stack. NoteStackLocations does subtract ADRSIZE(ADDRESS) though. Note that ThreadPosix.m3 could also implement such precise stackbase. ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. From jay.krell at cornell.edu Sun Nov 22 10:21:35 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 09:21:35 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122091918.333BE2474001@birch.elegosoft.com> References: <20091122091918.333BE2474001@birch.elegosoft.com> Message-ID: cvsweb is a pain imho, so diff attached > Date: Sun, 22 Nov 2009 10:19:17 +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/11/22 10:19:17 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 > ThreadWin32.m3 > ThreadWin32C.c > > Log message: > Win32 ProcessStacks had a hack where if the stack pointer was > more than 10K below the stack top, it would use VirtualQuery > to ensure the pages are readable. > > The comment was that this was to workaround Windows 95 sometimes > returning incorrect stack pointers. > > While I'm not testing Windows 95 here, and I should, modify the code > like so: > > At thread creation (and special case first thread), compute > the stack bounds accurately. (again, only tested on NT) > > Move GetThreadContext from ProcessStacks to SuspendOthers. > > When we GetThreadContext, if the stack is not in bounds, > treat it like a "busy" thread and resume it and try again later. > > NOTE that GetThreadContext is documented as not working > on the current thread, but the previous code did > exactly that. Perhaps that was the problem? > > The current thread's stack pointer is trivial to compute of course, > no need for GetThreadContext. > > Testing is advised on Win9x, though I personally > haven't run that in years and hardly ever did. > > In the previous code, see of course ProcessStacks, and VerifySP. > This likely had the affect as well of, when the stack went > beyond 10K, to round the stack pointer down to the next page, > scanning a little extra garbage (which if you consider > that "most objects die young", probably had a good chance > of causing retention of otherwise garbage? But I have no data.) > > (Nice side effect here, of course, is decreased dependency on cloned headers, > since I always strive to use C to interact with the underlying system > that is described with C headers.) > > Unfortunate side affect here is increased memory use because > the CONTEXT is now in Activation, in order to get from > SuspendOthers to ProcessStacks. > > We might do better to allocate an array of CONTEXT in SuspendOthers. > > We might do better also to use a "mini context" since we only use > a small fraction of the context (just the control and integer registers, > not the rather larger floating point state nor the segment registers, > debug registers, status flags, etc. since they can't contain pointers.. > or can they? well, not with our backend..hm) > > Furthermore, of course, we should abstract this code to not be so x86 specific. > > With this change, the stack bounds are very well known, and the "end" > value is "just past the end", the first byte of the first page after the stack. > It might be wise to subtract one from this. > > Previously we used an approximate end of stack that pointed to an actual untraced > value on the stack. > > NoteStackLocations does subtract ADRSIZE(ADDRESS) though. > > Note that ThreadPosix.m3 could also implement such precise stackbase. > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 2.txt URL: From jkrell at elego.de Sun Nov 22 10:43:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:43:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122094324.4F06A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:43:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move just a few comments around slightly to be on same line as what they are describing (this area about to change more, to more resemble pthread implementation) From jkrell at elego.de Sun Nov 22 10:46:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:46:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122094617.C01EC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:46:17 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: a little more reformating of comments for readability From jkrell at elego.de Sun Nov 22 10:55:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:55:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122095530.C097F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:55:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: adjust LL comments to describe what I believe is acceptable reality: handle, stackStart, stackEnd not locked, on neither read nor write (it is common to make a mistake where only writes are locked) From jkrell at elego.de Sun Nov 22 11:24:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 11:24:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122102445.147052474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 11:24:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: adjust LL comments to describe what I believe is acceptable reality: closure and result are not locked; completed is only ever written and never read so remove it (larger effort here is to unify a lot with pthread, esp. what is in T vs. Activation) From jkrell at elego.de Sun Nov 22 12:11:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:11:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122111127.DFD552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:11:27 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Like pthreads, switch from functions to variables for the static locks. (pthreads also has a static cond, we don't) Instead of using either Win32 "critical section" or pthread "mutex" vocabulary, use Lock(Lock_t), Unlock(Lock_t), slotLock, heapLock, etc. Also add NewLock and DeleteLock, not yet used. From jkrell at elego.de Sun Nov 22 12:12:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:12:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122111229.147312474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:12:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add const on the static locks/conditions From jkrell at elego.de Sun Nov 22 12:38:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:38:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122113845.047802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:38:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: SetActivation == TlsSetValue_threadIndex GetActivation == TlsGetValue_threadIndex (pthreads doesn't do this but probably should) From jkrell at elego.de Sun Nov 22 12:39:38 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:39:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122113938.D92DA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:39:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: remove incorrect comment (Set is not called frequently, only Get is) From jkrell at elego.de Sun Nov 22 12:43:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:43:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122114342.E41BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:43:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 Log message: don't capitalize or period comments that aren't sentences esp. one that I just changed From jay.krell at cornell.edu Sun Nov 22 12:41:19 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 11:41:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122113845.047802474001@birch.elegosoft.com> References: <20091122113845.047802474001@birch.elegosoft.com> Message-ID: diff attached (cvsweb stinks..) > Date: Sun, 22 Nov 2009 12:38: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/11/22 12:38:43 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 > ThreadWin32.m3 > ThreadWin32C.c > > Log message: > SetActivation == TlsSetValue_threadIndex > GetActivation == TlsGetValue_threadIndex > (pthreads doesn't do this but probably should) > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 1.txt URL: From hosking at cs.purdue.edu Sun Nov 22 19:41:26 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 13:41:26 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122091918.333BE2474001@birch.elegosoft.com> References: <20091122091918.333BE2474001@birch.elegosoft.com> Message-ID: <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> > Note that ThreadPosix.m3 could also implement such precise stackbase. ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. From jay.krell at cornell.edu Sun Nov 22 22:53:44 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 21:53:44 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> Message-ID: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 22 23:16:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:16:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122221622.999732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:16:22 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: #if defined(__APPLE__) && defined(__i386__) && !defined(_XOPEN_SOURCE) /* http://tinderbox.elegosoft.com/tinderbox/cgi-bin/gunzip.cgi?tree=cm3&brief-log=1258879870.10595#err9 */ /* /usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined */ /* expand #if to allow more architecures as they are discovered/tested, probably just allow all */ #define _XOPEN_SOURCE #endif From jkrell at elego.de Sun Nov 22 23:30:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:30:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122223058.C45402474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:30:58 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: signal.h suffices on all Darwin architectures, at least with the ppc/ppc64/x86/amd64 cross compilers on my current system From jkrell at elego.de Sun Nov 22 23:33:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:33:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122223311.B0D792474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:33:11 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: copy from head to address #error on some Apple environments (don't #include ucontext.h, signal.h suffices) From jkrell at elego.de Mon Nov 23 00:29:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:29:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122232903.D90902474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:29:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix pthread_mutex_unlock wrapper, duh! From jkrell at elego.de Mon Nov 23 00:33:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:33:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122233325.8883D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:33:25 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: copy from head: add const and return the pthread_unlock_mutex return value (!) (fixes Solaris but is a general bug) From hosking at cs.purdue.edu Mon Nov 23 00:52:31 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 18:52:31 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> Message-ID: <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 23 00:53:06 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:53:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235307.9A6552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:53:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: make it work with more compiler/header versions consider moving initialization and cleanup into DllMain in particular, this lets us propagate failures, which are possible but the problem is that executables don't have DllMain (tls callbacks?) From jkrell at elego.de Mon Nov 23 00:53:42 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:53:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235343.0A9152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:53:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: better compiler compat? From jkrell at elego.de Mon Nov 23 00:54:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:54:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235404.E8DE42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:54:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: better compiler compat? From jkrell at elego.de Mon Nov 23 01:01:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:01:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123000148.A600D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:01:48 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: slight hypothetical unify with pthread -- just rename CRITSEC to LOCK and copy two comments From jay.krell at cornell.edu Mon Nov 23 01:19:36 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 23 Nov 2009 00:19:36 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: You think I should just leave Win32 using the same method? No point scanning past that? I think, as I was saying the other day, there is a slight danger in the current code. Imagine an aggressive optimizer inlines RunThread into ThreadBase. I think when I manually inlined it I caused just such breakage. We need <*NOINLINE*>? - Jay Subject: Re: [M3commit] CVS Update: cm3 From: hosking at cs.purdue.edu Date: Sun, 22 Nov 2009 18:52:31 -0500 CC: jkrell at elego.de; m3commit at elegosoft.com To: jay.krell at cornell.edu It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 01:29:52 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 23 Nov 2009 00:29:52 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: Maybe: RunThread: if stack_grows_down stackbase = ADR(self) else stackbase = ADR(self) + BYTESIZE(self) Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds described the above? - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Mon, 23 Nov 2009 00:19:36 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 You think I should just leave Win32 using the same method? No point scanning past that? I think, as I was saying the other day, there is a slight danger in the current code. Imagine an aggressive optimizer inlines RunThread into ThreadBase. I think when I manually inlined it I caused just such breakage. We need <*NOINLINE*>? - Jay Subject: Re: [M3commit] CVS Update: cm3 From: hosking at cs.purdue.edu Date: Sun, 22 Nov 2009 18:52:31 -0500 CC: jkrell at elego.de; m3commit at elegosoft.com To: jay.krell at cornell.edu It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 23 01:45:12 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:45:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123004512.9FE732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:45:12 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: go back to asserting success for now, since the Modula-3 code doesn't and we can fail here under very low resources From jkrell at elego.de Mon Nov 23 01:46:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:46:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123004627.415A72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:46:26 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: cleanup From hosking at cs.purdue.edu Mon Nov 23 02:03:46 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 20:03:46 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: On 22 Nov 2009, at 19:19, Jay K wrote: > You think I should just leave Win32 using the same method? > No point scanning past that? Right. > I think, as I was saying the other day, there is a slight danger in the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. Yeah, could be a problem. > We need <*NOINLINE*>? Perhaps, though there are ways to avoid inlining, like passing assigning the procedure (address) to a global. > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 23 02:04:38 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 20:04:38 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> On 22 Nov 2009, at 19:29, Jay K wrote: > Maybe: > > RunThread: > if stack_grows_down > stackbase = ADR(self) > else > stackbase = ADR(self) + BYTESIZE(self) > > Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? We don't know that... In fact, we assume that the backend will have traced pointers in regs. > Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds > described the above? > > - Jay > > From: jay.krell at cornell.edu > To: hosking at cs.purdue.edu > Date: Mon, 23 Nov 2009 00:19:36 +0000 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You think I should just leave Win32 using the same method? > No point scanning past that? > > I think, as I was saying the other day, there is a slight danger in the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. > > We need <*NOINLINE*>? > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 03:12:48 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Sun, 22 Nov 2009 18:12:48 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: <4C0C6034-DDA0-44B8-8381-FB3BEE4DAADA@hotmail.com> These concerns make we feel more comfortable with the approach of finding the entire stack bounds (er, the accurate top; bottom is dynamic). There isn't a portable way to do this but there are various pthread_np. - Jay (phone) On Nov 22, 2009, at 4:29 PM, Jay K wrote: > Maybe: > > RunThread: > if stack_grows_down > stackbase = ADR(self) > else > stackbase = ADR(self) + BYTESIZE(self) > > Do we know the backend won't introduce local temporaries on the > stack that contain traced pointers? > Or, like, if there are traced temporaries in registers..they could > be spilled to the stack..and not within the bounds > described the above? > > - Jay > > From: jay.krell at cornell.edu > To: hosking at cs.purdue.edu > Date: Mon, 23 Nov 2009 00:19:36 +0000 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You think I should just leave Win32 using the same method? > No point scanning past that? > > I think, as I was saying the other day, there is a slight danger in > the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. > > We need <*NOINLINE*>? > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold > a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX > \ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise > stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained > from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions > on OpenBSD (broken) and FreeBSD, etc. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 11:58:39 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Mon, 23 Nov 2009 02:58:39 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> Message-ID: Traced in regs is ok. The question is if they can spill to beyond the part of the stack we scan. Again, imagine if RunThread gets inlined into ThreadBase. That is possible and could easily break us, right? - Jay (phone) On Nov 22, 2009, at 5:04 PM, Tony Hosking wrote: > On 22 Nov 2009, at 19:29, Jay K wrote: > >> Maybe: >> >> RunThread: >> if stack_grows_down >> stackbase = ADR(self) >> else >> stackbase = ADR(self) + BYTESIZE(self) >> >> Do we know the backend won't introduce local temporaries on the >> stack that contain traced pointers? > > We don't know that... > In fact, we assume that the backend will have traced pointers in regs. > >> Or, like, if there are traced temporaries in registers..they could >> be spilled to the stack..and not within the bounds >> described the above? >> >> - Jay >> >> From: jay.krell at cornell.edu >> To: hosking at cs.purdue.edu >> Date: Mon, 23 Nov 2009 00:19:36 +0000 >> CC: m3commit at elegosoft.com >> Subject: Re: [M3commit] CVS Update: cm3 >> >> You think I should just leave Win32 using the same method? >> No point scanning past that? >> >> I think, as I was saying the other day, there is a slight danger in >> the current code. >> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >> I think when I manually inlined it I caused just such breakage. >> >> We need <*NOINLINE*>? >> >> - Jay >> >> Subject: Re: [M3commit] CVS Update: cm3 >> From: hosking at cs.purdue.edu >> Date: Sun, 22 Nov 2009 18:52:31 -0500 >> CC: jkrell at elego.de; m3commit at elegosoft.com >> To: jay.krell at cornell.edu >> >> It is precise re traced refs. That's the lowest frame that can >> hold a traced reference. >> >> On 22 Nov 2009, at 16:53, Jay K wrote: >> >> The end of the stack isn't precise: >> >> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX >> \ThreadPosix.m3(1058): self.stackbase := ADR(xx); >> >> "stack" here: >> >> void >> ProcessContext(Context *c, void *stack, >> void (*p) (void *start, void *stop)) >> { >> if (stack < c->uc.uc_stack.ss_sp) >> p(stack, c->uc.uc_stack.ss_sp); >> else >> p(c->uc.uc_stack.ss_sp, stack); >> #ifdef __APPLE__ >> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >> #else >> p(&c[0], &c[1]); >> #endif >> } >> >> - Jay >> >> >> > From: hosking at cs.purdue.edu >> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >> > To: jkrell at elego.de >> > CC: m3commit at elegosoft.com >> > Subject: Re: [M3commit] CVS Update: cm3 >> > >> > > Note that ThreadPosix.m3 could also implement such precise >> stackbase. >> > >> > ThreadPosix *does* implement a precise stack base. It's obtained >> from the ucontext set in the thread switch routine (swapcontext). >> > >> > > ThreadPThread.m3 probably often could, like with the functions >> on OpenBSD (broken) and FreeBSD, etc. >> > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 12:09:17 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Mon, 23 Nov 2009 03:09:17 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: (somewhat out of order sorry) Assiging function to pointer variable will keep an uninlined copy, possibly (if the variable is ever read!) but would not force specific direct calls to not be inlined. Competing with optimizers is an "arms race". You can escalate e.g. by putting stuff in seperate files, but then there are systems with cross file optimization. We can avoid that by not using whatever compiler switches. Really, actually, I almost never test optimized. "arms race" You often win by instead "cooperating". Introduce "noinline" and communicate it down. Microsoft Visual C++ has such a feature and I generally believe its extensions are often not always well-informed and worth considering. Most code doesn't care, let the compiler do whatever it can think of, but sometimes some code is very special/careful. Again though an accurate stack bound may help much. I'll look into it. - Jay (phone) On Nov 22, 2009, at 5:03 PM, Tony Hosking wrote: > > On 22 Nov 2009, at 19:19, Jay K wrote: > >> You think I should just leave Win32 using the same method? >> No point scanning past that? > > Right. > >> I think, as I was saying the other day, there is a slight danger >> in the current code. >> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >> I think when I manually inlined it I caused just such breakage. > > Yeah, could be a problem. > >> We need <*NOINLINE*>? > > Perhaps, though there are ways to avoid inlining, like passing > assigning the procedure (address) to a global. > >> >> - Jay >> >> Subject: Re: [M3commit] CVS Update: cm3 >> From: hosking at cs.purdue.edu >> Date: Sun, 22 Nov 2009 18:52:31 -0500 >> CC: jkrell at elego.de; m3commit at elegosoft.com >> To: jay.krell at cornell.edu >> >> It is precise re traced refs. That's the lowest frame that can >> hold a traced reference. >> >> On 22 Nov 2009, at 16:53, Jay K wrote: >> >> The end of the stack isn't precise: >> >> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX >> \ThreadPosix.m3(1058): self.stackbase := ADR(xx); >> >> "stack" here: >> >> void >> ProcessContext(Context *c, void *stack, >> void (*p) (void *start, void *stop)) >> { >> if (stack < c->uc.uc_stack.ss_sp) >> p(stack, c->uc.uc_stack.ss_sp); >> else >> p(c->uc.uc_stack.ss_sp, stack); >> #ifdef __APPLE__ >> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >> #else >> p(&c[0], &c[1]); >> #endif >> } >> >> - Jay >> >> >> > From: hosking at cs.purdue.edu >> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >> > To: jkrell at elego.de >> > CC: m3commit at elegosoft.com >> > Subject: Re: [M3commit] CVS Update: cm3 >> > >> > > Note that ThreadPosix.m3 could also implement such precise >> stackbase. >> > >> > ThreadPosix *does* implement a precise stack base. It's obtained >> from the ucontext set in the thread switch routine (swapcontext). >> > >> > > ThreadPThread.m3 probably often could, like with the functions >> on OpenBSD (broken) and FreeBSD, etc. >> > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Nov 23 20:10:28 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 23 Nov 2009 20:10:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123191028.CAFA0CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/23 20:10:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Log message: Use brands to enforce type separation between various opaque C-level pthread types. From hosking at cs.purdue.edu Mon Nov 23 21:19:09 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 23 Nov 2009 15:19:09 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> Message-ID: <9C87294E-C98A-4892-BA8B-FEE028718199@cs.purdue.edu> I guess it is possible, though it would only be problematic for self in RunThread if it got allocated outside the range of xx (i.e., below xx in the stack) in ThreadBase. Unlikely... On 23 Nov 2009, at 05:58, jay.krell at cornell.edu wrote: > Traced in regs is ok. The question is if they can spill to beyond the part of the stack we scan. Again, imagine if RunThread gets inlined into ThreadBase. That is possible and could easily break us, right? > > - Jay (phone) > > On Nov 22, 2009, at 5:04 PM, Tony Hosking wrote: > >> On 22 Nov 2009, at 19:29, Jay K wrote: >> >>> Maybe: >>> >>> RunThread: >>> if stack_grows_down >>> stackbase = ADR(self) >>> else >>> stackbase = ADR(self) + BYTESIZE(self) >>> >>> Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? >> >> We don't know that... >> In fact, we assume that the backend will have traced pointers in regs. >> >>> Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds >>> described the above? >>> >>> - Jay >>> >>> From: jay.krell at cornell.edu >>> To: hosking at cs.purdue.edu >>> Date: Mon, 23 Nov 2009 00:19:36 +0000 >>> CC: m3commit at elegosoft.com >>> Subject: Re: [M3commit] CVS Update: cm3 >>> >>> You think I should just leave Win32 using the same method? >>> No point scanning past that? >>> >>> I think, as I was saying the other day, there is a slight danger in the current code. >>> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >>> I think when I manually inlined it I caused just such breakage. >>> >>> We need <*NOINLINE*>? >>> >>> - Jay >>> >>> Subject: Re: [M3commit] CVS Update: cm3 >>> From: hosking at cs.purdue.edu >>> Date: Sun, 22 Nov 2009 18:52:31 -0500 >>> CC: jkrell at elego.de; m3commit at elegosoft.com >>> To: jay.krell at cornell.edu >>> >>> It is precise re traced refs. That's the lowest frame that can hold a traced reference. >>> >>> On 22 Nov 2009, at 16:53, Jay K wrote: >>> >>> The end of the stack isn't precise: >>> >>> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); >>> >>> "stack" here: >>> >>> void >>> ProcessContext(Context *c, void *stack, >>> void (*p) (void *start, void *stop)) >>> { >>> if (stack < c->uc.uc_stack.ss_sp) >>> p(stack, c->uc.uc_stack.ss_sp); >>> else >>> p(c->uc.uc_stack.ss_sp, stack); >>> #ifdef __APPLE__ >>> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >>> #else >>> p(&c[0], &c[1]); >>> #endif >>> } >>> >>> - Jay >>> >>> >>> > From: hosking at cs.purdue.edu >>> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >>> > To: jkrell at elego.de >>> > CC: m3commit at elegosoft.com >>> > Subject: Re: [M3commit] CVS Update: cm3 >>> > >>> > > Note that ThreadPosix.m3 could also implement such precise stackbase. >>> > >>> > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). >>> > >>> > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. >>> > >>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Nov 24 10:24:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:24:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124092443.9F9352474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:24:43 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: address ucontext deprecation (presumably in Snow Leopard, the break is on a Darwin 10.0.0 machine, I have Darwin 9.8.0 Leopard) just with #define _XOPEN_SOURCE (Do we need to consider another way? Probably not.) From jkrell at elego.de Tue Nov 24 10:31:40 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:31:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124093140.C47D92474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:31:40 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: copy from head to address ucontext deprecation on Snow Leopard? (they give and they take away, these APIs were only added in 10.4 or 10.5, and then deprecated in 10.6; make up your minds..) From jkrell at elego.de Tue Nov 24 10:39:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:39:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124093957.7638BCC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:39:56 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: per http://duriansoftware.com/joe/PSA:-avoiding-the-%22ucontext-routines-are-deprecated%22-error-on-Mac-OS-X-Snow-Leopard.html #include sys/ucontext.h on Darwin instead of ucontext.h We aren't actually after the deprecated ucontext functions, but the (apparently) non-deprecated ucontext data structures From jkrell at elego.de Tue Nov 24 10:41:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:41:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124094106.9963BCC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:41:06 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: copy from release branch: use sys/ucontext.h on Darwin instead of ucontext.h + #define _XOPEN_SOURCE From jkrell at elego.de Tue Nov 24 12:43:44 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 12:43:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124114344.D136C2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 12:43:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: rename pthread_getspecific_activations to GetActivation (called many times) (matches Win32) rename pthread_setspecific_activations to SetActivation (called twice) (matches Win32) leave pthread_key_create_activations alone (called once) (Win32 does the initialization in InitC) (I thought I had already commited this) From jkrell at elego.de Tue Nov 24 12:45:03 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 12:45:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124114504.47AA9CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 12:45:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix warning about unterminated character constant in comment: don't => do not From jkrell at elego.de Tue Nov 24 13:29:26 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:29:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124122926.D8550CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:29:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: replace gnarly assembly with setjmp/longjmp prepare to callback just once instead of separately for registers and stack Please review. From jkrell at elego.de Tue Nov 24 13:35:14 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:35:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124123517.D49D62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:35:14 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c Log message: replace gnarly assembly with setjmp/longjmp From jkrell at elego.de Tue Nov 24 13:38:46 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:38:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124123846.7E6B52474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:38:46 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: remove unused locals (fix gcc -Wall) From jkrell at elego.de Wed Nov 25 13:20:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:20:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125122039.58BD72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:20:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: move frame to the start to try to get it to be offset 0, in case that is more efficient, since it is overwhelmingly the most often access field (for every function with try or lock, well, maybe lock related stuff competes in frequency) From jkrell at elego.de Wed Nov 25 13:26:44 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:26:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125122644.C0E3A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:26:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: reformat field comments to be on the same line as the field, the resulting lines may be a bit long but on a wide screen the result seems far more readable than either alternative (unless a lot more vertical space is used to separate fields) From jkrell at elego.de Wed Nov 25 13:31:58 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:31:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123158.128A72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:31:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: add some LL and LL-ish comments (LL-ish like "write-once in function Foo") This is just from a quick scan of the code and hopefully correct. Actual code not changed. + mutex: pthread_mutex_t := NIL; (* write-once in CreateT *) + cond: pthread_cond_t := NIL; (* write-once in CreateT; a place to park while waiting *) + alerted : BOOLEAN := FALSE; (* LL = mutex; the alert flag *) + waitingOn: pthread_mutex_t := NIL; (* LL = mutex; The CV's mutex *) + nextWaiter: Activation := NIL; (* LL = mutex; queue of threads waiting on the same CV *) From jkrell at elego.de Wed Nov 25 13:32:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:32:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123259.5AA412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:32:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: MyFPState should return floatState, not heapState, oops! From jkrell at elego.de Wed Nov 25 13:34:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:34:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123420.500D52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:34:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState should return floatState not heapState! From hosking at elego.de Wed Nov 25 19:23:32 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:23:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125182332.F0449CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:23:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Clean up a bunch of things. Move stack_grows_down into C. I'm still dubious about elimination of SaveRegsInStack for SPARC. Jay, you'll really need to confirm that all is OK. From hosking at elego.de Wed Nov 25 19:27:51 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:27:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125182751.9E7B12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:27:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Lift out common static variables stack_grows_down and activations. Eliminate unused XX. From hosking at elego.de Wed Nov 25 19:42:47 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:42:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125184247.547E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:42:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Eliminate tabs. From hosking at elego.de Wed Nov 25 20:01:04 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 20:01:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125190104.43EFFCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 20:01:04 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 m3makefile 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.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Removed files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: Move ThreadInternal.i3 to RTThread.i3. From hosking at elego.de Thu Nov 26 01:25:47 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:25:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126002548.2B2FE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:25:47 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ProcessStacks routine takes a base address and a *limit*. So, stop before limit. From hosking at elego.de Thu Nov 26 01:26:00 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:26:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126002600.46F39CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:26:00 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: Tweak comment. From hosking at elego.de Thu Nov 26 01:31:53 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:31:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126003153.D9C7E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:31:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Restore SPARC SaveRegsInStack implementation. longjmp is MT-Level unsafe. Not sure what this says about setjmp -- Boehm doesn't appear to process any context other than the stacks. From jay.krell at cornell.edu Thu Nov 26 03:03:46 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 02:03:46 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091126003153.D9C7E2474001@birch.elegosoft.com> References: <20091126003153.D9C7E2474001@birch.elegosoft.com> Message-ID: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Nov 26 03:06:13 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 02:06:13 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, Message-ID: http://osdir.com/ml/os.solaris.sunhelp/2001-09/msg00263.html ? - Jay From: jay.krell at cornell.edu To: hosking at elego.de; m3commit at elegosoft.com Date: Thu, 26 Nov 2009 02:03:46 +0000 Subject: Re: [M3commit] CVS Update: cm3 > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Nov 26 03:42:41 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 3:42:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126024241.DB02ACC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 03:42:41 Added files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.i3 Log message: add RTThread.i3, copy of last? ThreadInternal.i3 but with interface name changed From jkrell at elego.de Thu Nov 26 03:44:16 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 3:44:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126024416.57CAF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 03:44:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix it to compile -- xx vs. callee, and eliminate casts by changing void* to int* From jkrell at elego.de Thu Nov 26 05:23:20 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:23:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126042320.D8BBE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:23:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: parameter names in procedure types are apparently part of the signature; fix it to compile From jkrell at elego.de Thu Nov 26 05:28:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:28:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126042817.9C2732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:28:17 Modified files: cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c Csignal.i3 CstdioC.c Cstdlib.i3 Cstring.i3 m3makefile Added files: cm3/m3-libs/m3core/src/C/Common/: CsignalC.c CstdlibC.c CstringC.c Log message: be more aggressive about not cloning headers certainly the signatures here are/were correct, but there is still the danger of inlines or pragmas creating not the normal binary interface, and apparently a source interface is all we can really count on From jkrell at elego.de Thu Nov 26 05:45:33 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:45:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126044534.20A162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:45:33 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 RTMisc.m3 m3makefile Added files: cm3/m3-libs/m3core/src/runtime/common/: RTMiscC.c Log message: be aggressive about not cloning headers actually, since we already wrapped what this is calling, this code is ok but then, remove an extra layer From jkrell at elego.de Thu Nov 26 05:46:39 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:46:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126044639.8FEB32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:46:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 Log message: rewrite comment -- Align is the same as Upper, but casting INTEGER <=> ADDRESS From jkrell at elego.de Thu Nov 26 06:04:01 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 6:04:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126050401.C30FECC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 06:04:01 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 RTMisc.m3 RTMiscC.c Log message: equate RTMisc.Upper and RTMisc.Align via <*EXTERNAL*> so an unoptimized RTMisc.Align will still jump right to RTMisc.Upper preserve RTMisc.Align for binary compatibility however From jkrell at elego.de Thu Nov 26 08:01:15 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 8:01:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126070118.3BA0C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 08:01:15 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: in NoteStackLocations, if stack is 0,0, just return having done nothing From jkrell at elego.de Thu Nov 26 09:46:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 9:46:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126084617.3BD222474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 09:46:17 Modified files: cm3/scripts/: sysinfo.sh Log message: remove echo that breaks building cm3 From jkrell at elego.de Thu Nov 26 10:11:28 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:11:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091128.6D0412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:11:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: combine the two implementations of InitC From jkrell at elego.de Thu Nov 26 10:13:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:13:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091317.71A8A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:13:17 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: try not to waste time on signal mask, though this area is frought with #ifdef'ed headers, but it is ok if we get it wrong From jkrell at elego.de Thu Nov 26 10:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091846.7DFA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:18:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: get errno before getting the activation, since the point is to preserve errno From jkrell at elego.de Thu Nov 26 10:23:12 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:23:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126092312.EA38A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:23:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: try again setjmp/longjmp on sparc instead of the gnarly assembly different this time call setjmp on all targets in both SignalHandler and ProcessLive call longjmp immediately then for sparc and ia64 make another function call to ensure taking the address of a local includes jmp_buf (without having to worry about stack direction) introduce SignalHandlerC (C code called from Modula-3 SignalHandler) SignalHandlerX (called from SignalHandlerC to be sure capture all the stack) ProcessLiveX (called from ProcessLive to be sure capture all the stack) From jkrell at elego.de Thu Nov 26 10:34:47 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:34:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093447.19BC92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:34:47 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachine.i3 RTStackC.c Log message: copy from head: replace assembly with setjmp/longjmp remove locals that are initialized but not further used remove userthread support in RTMachine.i3, we use make/get/set/swapcontext now From jkrell at elego.de Thu Nov 26 10:37:18 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:37:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093718.971842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:37:18 Removed files: cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTSignal.m3 cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTSignal.m3 Log message: remove unused files From jkrell at elego.de Thu Nov 26 10:38:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:38:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093830.CADE1CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:38:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadContext.i3 Log message: copy from head: shorter by using 'IMPORT FROM' From jkrell at elego.de Thu Nov 26 10:41:57 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:41:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126094158.6BB802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:41:57 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 Log message: ignore stack=0,0 in NoteStackLocations, in prep for ThreadPThreadC.c copy From jkrell at elego.de Thu Nov 26 10:43:25 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:43:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126094325.3BD7A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:43:25 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: copy from head, several changes, we'll see if this clears up SOLgnu and SOLsun From jkrell at elego.de Thu Nov 26 14:56:28 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 14:56:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126135628.B95B8CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 14:56:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: RTThread to ThreadInternal (unless we merge more from head) From jkrell at elego.de Thu Nov 26 16:55:05 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 16:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126155505.663442474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 16:55:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: noinline for Visual C++ >= 7.0 (optionally the compiler for Interix) noinline for Sun CC >= 5.9 still could be better e.g. Intel compiler From hosking at cs.purdue.edu Thu Nov 26 18:06:28 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 26 Nov 2009 12:06:28 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com> Message-ID: Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > > longjmp is MT-Level unsafe. > > Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? > > /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt > vi 1.txt > > 000314fc <_setjmp>: > 314fc: c0 22 20 00 clr [ %o0 ] > 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] > 31504: 92 03 e0 08 add %o7, 8, %o1 > 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] > 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] > 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] > 31514: 81 c3 e0 08 retl > 31518: 90 10 00 00 mov %g0, %o0 > > > 0003151c <_longjmp>: > 151c: 91 d0 20 03 ta 3 > 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 > 31524: e0 1a a0 00 ldd [ %o2 ], %l0 > 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 > 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 > 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 > 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 > 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 > 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 > 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp > 31544: 9c 10 00 0a mov %o2, %sp > 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 > 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 > 31550: 80 90 00 09 tst %o1 > 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> > 31558: 9e 22 e0 08 sub %o3, 8, %o7 > 3155c: 92 10 20 01 mov 1, %o1 > 31560: 81 c3 e0 08 retl > 31564: 90 10 00 09 mov %o1, %o0 > > I'll step through calls to them see if they look the same (network problems..) > > - Jay > > > > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > > ThreadPThread.m3 > > ThreadPThreadC.c > > > > Log message: > > Restore SPARC SaveRegsInStack implementation. > > longjmp is MT-Level unsafe. > > Not sure what this says about setjmp -- Boehm doesn't appear to process any > > context other than the stacks. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 18:08:44 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 18:08:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126170844.BFDB72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 18:08:44 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.i3 Log message: Forgot to commit this. From jay.krell at cornell.edu Thu Nov 26 18:47:59 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 17:47:59 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, , Message-ID: I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Nov 26 19:02:03 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 18:02:03 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, , , , , Message-ID: Also I'm ok with the assembly, just that we should be sure to have only one copy of it per processor and probably in separate .s files. I might put that back before long. - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 17:47:59 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 19:30:56 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 19:30:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126183056.4FD32CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 19:30:56 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Bail out of NoteStackLocations for start < stop. From hosking at elego.de Thu Nov 26 19:44:24 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 19:44:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126184425.32C152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 19:44:24 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Refactor slightly to avoid need for awkward SignalHandlerC call. From jay.krell at cornell.edu Thu Nov 26 19:55:58 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 18:55:58 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, ,,, , , , , , Message-ID: er, I'm just plain wishy-washy. If it is just Sparc, I think we're ok. I'll see what Itanium requires "later" (I've had two machines for quite some months, been putting it off.) - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 18:02:03 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Also I'm ok with the assembly, just that we should be sure to have only one copy of it per processor and probably in separate .s files. I might put that back before long. - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 17:47:59 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 21:57:28 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 21:57:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126205728.346BF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 21:57:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Something closer to what Jay seems to like. We could even extract the stack pointer from the ucontext_t. From jay.krell at cornell.edu Fri Nov 27 09:04:36 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 27 Nov 2009 08:04:36 +0000 Subject: [M3commit] CVS Update: add link to contributed Debian archives In-Reply-To: <20091115123820.51F5B2474001@birch.elegosoft.com> References: <20091115123820.51F5B2474001@birch.elegosoft.com> Message-ID: Note that the Hudson build produces .deb files: % pwd /var/www/modula3.elegosoft.com/cm3/releng % ls -l *deb -rw-r--r-- 1 hudson m3 42426960 2009-11-03 08:39 cm3-AMD64_LINUX-RC4.deb -rw-r--r-- 1 hudson m3 68637358 2009-11-03 16:30 cm3-FreeBSD4-RC4.deb -rw-r--r-- 1 hudson m3 41463292 2009-09-27 21:49 cm3-LINUXLIBC6-pre-RC4.deb -rw-r--r-- 1 hudson m3 71685410 2009-11-04 23:57 cm3-PPC_DARWIN-RC4.deb -rw-r--r-- 1 hudson m3 37000860 2009-11-04 18:27 cm3-SOLgnu-RC4.deb I know non-Linux-.deb might seem odd, but the file format is just .tar.{gz,bz2,lzma} inside an ar file with just a bit more information. They are just like the other packages except there is no installer and the paths include a hardcoded /usr/local/cm3. These .deb files contain "everything" so there is less to test and less to implement (I realize it is a tradeoff). Maybe link to these too? - Jay > Date: Sun, 15 Nov 2009 13:38:20 +0000 > To: m3commit at elegosoft.com > From: wagner at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: wagner at birch. 09/11/15 13:38:20 > > Modified files: > cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html > top.html > > Log message: > add link to contributed Debian archives > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 27 09:12:54 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:12:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127081254.D5CB12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:12:54 Modified files: cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c Log message: Interix needs #define _REENTRANT From jkrell at elego.de Fri Nov 27 09:17:45 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:17:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127081746.560CE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:17:45 Modified files: cm3/m3-comm/tcp/src/POSIX/: HerrnoC.c Log message: Interix needs #define _REENTRANT From jkrell at elego.de Fri Nov 27 09:20:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:20:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082033.8C529CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:20:33 Modified files: cm3/m3-lectern/lecternclient/src/POSIX/: LecternClient.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change on the config file From jkrell at elego.de Fri Nov 27 09:22:25 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:22:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082225.3EDE12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:22:25 Modified files: cm3/m3-libs/dps/src/: ccDisplayPS.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); also remove manual 'extern int errno', there is already #include and it should suffice From jkrell at elego.de Fri Nov 27 09:23:44 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:23:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082344.A69A12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:23:44 Modified files: cm3/m3-tools/cvsup/suptcp/src/common/: SupErrnoC.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); probably we can just remove this file From jkrell at elego.de Fri Nov 27 09:24:53 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:24:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082453.68FE82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:24:53 Modified files: cm3/m3-tools/cvsup/suplib/src/libmd/: md5hl.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file) From jkrell at elego.de Fri Nov 27 09:26:39 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:26:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082639.CE116CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:26:39 Modified files: cm3/m3-libs/sysutils/src/: SystemC.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); this file is only for bootstrapping against older builds so probably could be left 'broken' From jkrell at elego.de Fri Nov 27 09:27:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:27:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082732.1498ACC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:27:32 Modified files: cm3/m3-mail/llscan/src/: err.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file) From jkrell at elego.de Fri Nov 27 09:28:57 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:28:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082857.E1980CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:28:57 Modified files: cm3/m3-mail/llscan/src/: llscan.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); also remove manual 'extern int errno', there is already #include and it should suffice From jkrell at elego.de Fri Nov 27 09:50:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:50:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127085043.BD5AF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:50:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: copy from head and: change RTThread back to ThreadInternal change limit to stop fixes AMD64_LINUX p007 hang From jkrell at elego.de Fri Nov 27 10:50:56 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:50:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095057.15E1D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:50:56 Added files: cm3/m3-win/w32api/: CONTRIBUTIONS ChangeLog Makefile.in README.w32api TODO aclocal.m4 config.guess config.sub configure configure.in install-sh cm3/m3-win/w32api/include/: accctrl.h aclapi.h aclui.h adsprop.h afxres.h amaudio.h amvideo.h audevcod.h aviriff.h aygshell.h basetsd.h basetyps.h bdatypes.h cderr.h cguid.h cmnquery.h comcat.h commctrl.h commdlg.h control.h cpl.h cplext.h custcntl.h dbt.h dde.h ddeml.h devguid.h dhcpcsdk.h dlgs.h docobj.h dsadmin.h dsclient.h dsgetdc.h dshow.h dsquery.h dsrole.h dvdevcod.h dvdmedia.h edevdefs.h errorrep.h errors.h evcode.h exdisp.h exdispid.h fltdefs.h httpext.h icm.h idispids.h il21dec.h imagehlp.h imm.h initguid.h intshcut.h ipexport.h iphlpapi.h ipifcons.h ipinfoid.h iprtrmib.h iptypes.h ipxconst.h ipxrtdef.h ipxtfflt.h isguids.h ks.h ksmedia.h largeint.h lm.h lmaccess.h lmalert.h lmapibuf.h lmat.h lmaudit.h lmbrowsr.h lmchdev.h lmconfig.h lmcons.h lmerr.h lmerrlog.h lmmsg.h lmremutl.h lmrepl.h lmserver.h lmshare.h lmsname.h lmstats.h lmsvc.h lmuse.h lmuseflg.h lmwksta.h lzexpand.h mapi.h mciavi.h mcx.h mgm.h mgmtapi.h mlang.h mmreg.h mmsystem.h mpegtype.h mprapi.h mq.h msacm.h mshtml.h mswsock.h nb30.h nddeapi.h nspapi.h ntdef.h ntdll.h ntdsapi.h ntdsbcli.h ntldap.h ntsecapi.h ntsecpkg.h oaidl.h objbase.h objfwd.h objidl.h objsafe.h objsel.h ocidl.h odbcinst.h ole.h ole2.h ole2ver.h oleacc.h oleauto.h olectl.h olectlid.h oledlg.h oleidl.h pbt.h poppack.h powrprof.h prsht.h psapi.h pshpack1.h pshpack2.h pshpack4.h pshpack8.h qedit.h rapi.h ras.h rasdlg.h raserror.h rassapi.h reason.h regstr.h richedit.h richole.h routprot.h rpc.h rpcdce.h rpcdce2.h rpcdcep.h rpcndr.h rpcnsi.h rpcnsip.h rpcnterr.h rpcproxy.h rtutils.h schannel.h schnlsp.h scrnsave.h sddl.h secext.h security.h servprov.h setupapi.h shellapi.h shldisp.h shlguid.h shlobj.h shlwapi.h snmp.h specstrings.h sql.h sqlext.h sqltypes.h sqlucode.h sspi.h stm.h strmif.h subauth.h svcguid.h tlhelp32.h tmschema.h unknwn.h userenv.h usp10.h uxtheme.h vfw.h vidcap.h vmr9.h vptype.h w32api.h winable.h winbase.h winber.h wincon.h wincrypt.h windef.h windns.h windows.h windowsx.h winerror.h wingdi.h wininet.h winioctl.h winldap.h winnetwk.h winnls.h winnt.h winperf.h winreg.h winresrc.h winsnmp.h winsock.h winsock2.h winspool.h winsvc.h winuser.h winver.h ws2spi.h ws2tcpip.h wsahelp.h wsipx.h wsnetbs.h wtsapi32.h wtypes.h xprtdefs.h zmouse.h cm3/m3-win/w32api/include/GL/: gl.h glext.h glu.h cm3/m3-win/w32api/include/ddk/: atm.h batclass.h cfg.h cfgmgr32.h d4drvif.h d4iface.h ddkmapi.h hidclass.h hidpi.h hidsdi.h hidusage.h kbdmou.h mcd.h miniport.h minitape.h mountdev.h mountmgr.h ndis.h ndisguid.h ndistapi.h ndiswan.h netevent.h netpnp.h newdev.h ntapi.h ntdd8042.h ntddbeep.h ntddcdrm.h ntddcdvd.h ntddchgr.h ntdddisk.h ntddk.h ntddkbd.h ntddmou.h ntddndis.h ntddpar.h ntddpcm.h ntddscsi.h ntddser.h ntddstor.h ntddtape.h ntddtdi.h ntddvdeo.h ntddvol.h ntifs.h ntpoapi.h ntstatus.h parallel.h pfhook.h poclass.h scsi.h scsiscan.h scsiwmi.h smbus.h srb.h storport.h tdi.h tdiinfo.h tdikrnl.h tdistat.h tvout.h upssvc.h usb.h usb100.h usbcamdi.h usbdi.h usbioctl.h usbiodef.h usbscan.h usbuser.h video.h videoagp.h win2k.h winddi.h winddk.h winnt4.h winxp.h ws2san.h xfilter.h cm3/m3-win/w32api/include/directx/: d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h cm3/m3-win/w32api/lib/: Makefile.in aclui.def advapi32.def ativscp-uuid.c avicap32.def avifil32.def bthprops.def cap.def cguid-uuid.c comcat-uuid.c comctl32.def comdlg32.def crypt32.def ctl3d32.def devguid.c dhcpcsvc.def dlcapi.def dnsapi.def docobj-uuid.c exdisp-uuid.c extras-uuid.c faultrep.def gdi32.def glaux.def glu32.def hlguids-uuid.c hlink-uuid.c icmui.def igmpagnt.def imagehlp.def imm32.def iphlpapi.def kernel32.def largeint.c lz32.def mapi32.def mfcuia32.def mgmtapi.def mlang-uuid.c mpr.def mprapi.def mqrt.def msacm32.def mscms.def mshtml-uuid.c msimg32.def msvcp60.def msvfw32.def mswsock.def msxml-uuid.c nddeapi.def netapi32.def ntdll.def oaidl-uuid.c objidl-uuid.c objsafe-uuid.c ocidl-uuid.c odbc32.def odbccp32.def ole32.def oleacc-uuid.c oleacc.def oleaut32.def olecli32.def olectlid-uuid.c oledlg.def oleidl-uuid.c olepro32.def olesvr32.def opengl32.def penwin32.def pkpd32.def power-uuid.c powrprof.def psapi.def quartz.def rapi.def rasapi32.def rasdlg.def res.rc rpcdce4.def rpcns4.def rpcrt4.def rtm.def rtutils.def scrnsave.c secur32.def servprov-uuid.c setupapi.def shell32.c shell32.def shfolder.def shlwapi.def snmpapi.def svrapi.def tapi32.def test.c th32.def thunk32.def unknwn-uuid.c url.def urlmon-uuid.c user32.def userenv.def usp10.def uxtheme.def vdmdbg.def version.def vfw32.mri win32spl.def wininet.def winmm.def winspool.def winstrm.def wldap32.def wow32.def ws2_32.c ws2_32.def wsnmp32.def wsock32.def wst.def wtsapi32.def cm3/m3-win/w32api/lib/ddk/: Makefile.in apcups.def cfgmgr32.def dxapi.def hal.def hid.def hidparse.def mcd.def ndis.def newdev.def ntoskrnl.def scsiport.def tdi.def usbcamd.def usbcamd2.def videoprt.def win32k.def cm3/m3-win/w32api/lib/directx/: Makefile.in d3d8.def d3d9.def d3dim.def d3drm.def d3dx8d.def d3dx9d.def d3dxof.def ddraw.def dinput.def dinput8.def dinput_joy.c dinput_joy2.c dinput_kbd.c dinput_mouse.c dinput_mouse2.c dinput_private.h dmoguids.c dplayx.def dpnaddr.def dpnet.def dpnlobby.def dpvoice.def dsetup.def dsound.def dxerr.c dxerr8.c dxerr8w.c dxerr9.c dxerr9w.c dxguid.c ksproxy.def ksuser.c ksuser.def msdmo.def strmiids.c test.c Log message: initial import of free w32api headers/libraries This is intended only for use with Interix to get at a little bit of functionality in ntdll, and we will prune it down aggressively. From jkrell at elego.de Fri Nov 27 10:51:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:51:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095151.EE267CC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:51:51 Removed files: cm3/m3-win/w32api/include/directx/: d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h Log message: remove directx stuff we don't need From jkrell at elego.de Fri Nov 27 10:52:41 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:52:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095241.24CF02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:52:41 Removed files: cm3/m3-win/w32api/include/GL/: gl.h glext.h glu.h Log message: remove OpenGL stuff we don't need From jkrell at elego.de Fri Nov 27 10:58:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:58:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095823.BCDCFCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:58:23 Removed files: cm3/m3-win/w32api/lib/ddk/: Makefile.in apcups.def cfgmgr32.def dxapi.def hal.def hid.def hidparse.def mcd.def ndis.def newdev.def ntoskrnl.def scsiport.def tdi.def usbcamd.def usbcamd2.def videoprt.def win32k.def Log message: remove ddk stuff we don't need From jkrell at elego.de Fri Nov 27 10:59:06 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:59:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095906.3B848CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:59:06 Removed files: cm3/m3-win/w32api/lib/directx/: Makefile.in d3d8.def d3d9.def d3dim.def d3drm.def d3dx8d.def d3dx9d.def d3dxof.def ddraw.def dinput.def dinput8.def dinput_joy.c dinput_joy2.c dinput_kbd.c dinput_mouse.c dinput_mouse2.c dinput_private.h dmoguids.c dplayx.def dpnaddr.def dpnet.def dpnlobby.def dpvoice.def dsetup.def dsound.def dxerr.c dxerr8.c dxerr8w.c dxerr9.c dxerr9w.c dxguid.c ksproxy.def ksuser.c ksuser.def msdmo.def strmiids.c test.c Log message: remove directx stuff we don't need From jkrell at elego.de Fri Nov 27 11:02:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:02:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127100205.D63E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:02:05 Removed files: cm3/m3-win/w32api/lib/: aclui.def advapi32.def ativscp-uuid.c avicap32.def avifil32.def bthprops.def cap.def cguid-uuid.c comcat-uuid.c comctl32.def comdlg32.def crypt32.def ctl3d32.def devguid.c dhcpcsvc.def dlcapi.def dnsapi.def docobj-uuid.c exdisp-uuid.c extras-uuid.c faultrep.def gdi32.def glaux.def glu32.def hlguids-uuid.c hlink-uuid.c icmui.def igmpagnt.def imagehlp.def imm32.def iphlpapi.def kernel32.def largeint.c lz32.def mapi32.def mfcuia32.def mgmtapi.def mlang-uuid.c mpr.def mprapi.def mqrt.def msacm32.def mscms.def mshtml-uuid.c msimg32.def msvcp60.def msvfw32.def mswsock.def msxml-uuid.c nddeapi.def netapi32.def oaidl-uuid.c objidl-uuid.c objsafe-uuid.c ocidl-uuid.c odbc32.def odbccp32.def ole32.def oleacc-uuid.c oleacc.def oleaut32.def olecli32.def olectlid-uuid.c oledlg.def oleidl-uuid.c olepro32.def olesvr32.def opengl32.def penwin32.def pkpd32.def power-uuid.c powrprof.def psapi.def quartz.def rapi.def rasapi32.def rasdlg.def res.rc rpcdce4.def rpcns4.def rpcrt4.def rtm.def rtutils.def scrnsave.c secur32.def servprov-uuid.c setupapi.def shell32.c shell32.def shfolder.def shlwapi.def snmpapi.def svrapi.def tapi32.def test.c th32.def thunk32.def unknwn-uuid.c url.def urlmon-uuid.c user32.def userenv.def usp10.def uxtheme.def vdmdbg.def version.def vfw32.mri win32spl.def wininet.def winmm.def winspool.def winstrm.def wldap32.def wow32.def ws2_32.c ws2_32.def wsnmp32.def wsock32.def wst.def wtsapi32.def Log message: delete all but ntdll From jkrell at elego.de Fri Nov 27 11:11:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:11:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127101105.5E70B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:11:05 Modified files: cm3/m3-win/w32api/: Makefile.in configure configure.in cm3/m3-win/w32api/lib/: Makefile.in Log message: account for deletions From jkrell at elego.de Fri Nov 27 11:22:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:22:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127102243.E18BE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:22:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: apple.c freebsd.c Log message: split up ThreadPThreadC.c some currently #include the pieces but might want to not do that From jkrell at elego.de Fri Nov 27 11:23:58 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:23:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127102358.855242474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:23:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: noinline.h Log message: move a few dead lines out (safekeeping? move to m3unix.h or introduce some new m3defs.h?) From jkrell at elego.de Fri Nov 27 12:03:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:03:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127110326.A1A102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:03:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: work in progress for interix direct suspend it seems pretty simple and viable not yet worked out small issues: reaching around for #include (or, notice that it ended up so simple, that we can just duplicate the three lines plus #include windows.h for context; though the headers seem to conflict and we do need context, so probably best to compile separately) similarly, the .lib using HANDLE instead pthread_t (need to store both in the activation, and then use NtDuplicateObject(NtCurrentThread()) probably) From jkrell at elego.de Fri Nov 27 12:04:20 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:04:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127110420.37CF02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:04:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: fix assert -- context vs. signal_context From jkrell at elego.de Fri Nov 27 12:29:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:29:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127112930.466CB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:29:30 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: compile separately since the headers seem to conflict From jkrell at elego.de Fri Nov 27 12:42:15 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:42:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127114215.AE84ECC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:42:15 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: replace pthread_detach(me.handle) with pthread_detach_Self, where pthread_detach_self is in C as pthread_detach(pthread_self()) All other uses of act.handle are for suspend/resume. This little trick will let us redefine act.handle on Interix as the NT thread handle. From jkrell at elego.de Fri Nov 27 13:27:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 13:27:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127122726.95C04CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 13:27:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThreadC.c m3makefile Log message: attempt to solve some of the problems and flaws - only compile ThreadInterix.c on interix, remove dummy - modify SYSTEM_CC to point to headers - clevely implement pthread_self as returning NT thread handle (DuplicateObject(CurrentThread()) From jkrell at elego.de Fri Nov 27 18:34:31 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:34:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127173432.023DB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:34:31 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix readability and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) From jkrell at elego.de Fri Nov 27 18:37:38 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:37:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127173738.54424CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:37:38 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: a little less casting From jkrell at elego.de Fri Nov 27 18:43:09 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:43:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174309.99353CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:43:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: fix readability (subjective) and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) From jkrell at elego.de Fri Nov 27 18:47:10 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:47:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174710.ACF092474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:47:10 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: set local after longjmp, you know, because strictly speaking it'd have to be volatile to survive (but parameters are ok?) From jkrell at elego.de Fri Nov 27 18:48:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:48:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174805.9BB3E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:48:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: set local after longjmp, because strictly speaking it'd have to be volatile to survive (but parameters are ok?) From jkrell at elego.de Fri Nov 27 20:36:13 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:36:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127193613.C0EB02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:36:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThreadC.c m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadApple.c ThreadFreeBSD.c Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: apple.c freebsd.c Log message: using c_source helps build working boot archives, so use it instead of #include (I think there is some other directive, but also boot archives are "flat" so we need more unique file names.) consider ThreadDarwin.c or ThreadMacosx or ThreadMacX or such instead From hosking at elego.de Fri Nov 27 20:53:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 20:53:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195337.4CFC72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 20:53:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: Let's not depend on ucontext_t reporting a reliable stack pointer. From jkrell at elego.de Fri Nov 27 20:54:36 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:54:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195436.5D7BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:54:36 Added files: cm3/m3-win/ntdll/src/: m3makefile ntdll.c Log message: attempt to fill in missing pieces on interix this is just like import-libs, but I don't want to "ship" From jkrell at elego.de Fri Nov 27 20:56:11 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:56:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195611.A1FD6CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:56:11 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: try make it safe to build for all platforms From jkrell at elego.de Fri Nov 27 20:58:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:58:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195823.1FA6ACC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:58:23 Modified files: cm3/scripts/python/: pylib.py Log message: add ntdll (wherever import-libs is) From jkrell at elego.de Fri Nov 27 21:00:08 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 21:00:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127200008.351D72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 21:00:08 Modified files: cm3/m3-libs/m3core/src/unix/Common/: m3unix.h Log message: Interix has no socklen_t, here typedef int socklen_t From jkrell at elego.de Fri Nov 27 21:00:40 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 21:00:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127200040.CDAFD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 21:00:40 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: Interix has no net/if.h From hosking at elego.de Fri Nov 27 21:34:56 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:34:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127203457.057692474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:34:56 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: DEC(inCritical) on exception return from Fork. From hosking at elego.de Fri Nov 27 21:41:39 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127204139.696432474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:41:39 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: Casts (some needed, some not). From hosking at elego.de Fri Nov 27 21:49:54 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:49:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127204954.E612E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:49:54 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Unused field. From hosking at elego.de Fri Nov 27 22:05:47 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:05:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127210547.5F4072474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:05:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: Flag live thread to ProcessContext with NIL sp. Eliminate GetContext. From hosking at elego.de Fri Nov 27 22:11:47 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:11:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127211147.46E602474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:11:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Cosmetic reordering. From hosking at elego.de Fri Nov 27 22:13:18 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:13:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127211319.5E41B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:13:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Bring comment up to date. From jkrell at elego.de Sat Nov 28 07:59:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 7:59:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128065947.C69CE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 07:59:47 Modified files: cm3/scripts/python/: pylib.py Log message: some fixes/hack to compile/link Interix bootstrap From jkrell at elego.de Sat Nov 28 08:01:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:01:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128070115.ED2212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:01:15 Modified files: cm3/scripts/python/: pylib.py Log message: delete another output file (part of 'some fixes/hack to compile/link Interix bootstrap') From jkrell at elego.de Sat Nov 28 08:16:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:16:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128071602.312A32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:16:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: split pthread_self into GetCurrentThreadHandleForSuspendResume and GetCurrentThreadHandleForLockHolder From jkrell at elego.de Sat Nov 28 08:34:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:34:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128073454.9A99D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:34:54 Modified files: cm3/scripts/python/: pylib.py Log message: newlines and fix comment for Interix From jkrell at elego.de Sat Nov 28 08:38:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:38:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128073855.EE6062474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:38:55 Modified files: cm3/scripts/python/: pylib.py Log message: need -f on rm commands to avoid error for nonexistant files From jkrell at elego.de Sat Nov 28 11:53:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 11:53:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128105332.25A392474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 11:53:32 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: fixes for interix (not sure how it used to work) From jkrell at elego.de Sat Nov 28 11:56:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 11:56:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128105603.841B52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 11:56:03 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Unix.common Log message: special casing for ntdll on Interix similar to Uconstants.obj, hand.obj From jkrell at elego.de Sat Nov 28 12:05:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:05:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110514.C83232474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:05:14 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Unix.common Added files: cm3/m3-sys/cminstall/src/config-no-install/: Interix.common Log message: a little better -- ntdll only needed by m3core and non-shared executables (we don't have a notion of a "standalone shared library" here, though it does make sense; more generally each library an executable or shared library links to could be shared or not -- a boolean per import) From jkrell at elego.de Sat Nov 28 12:07:00 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:07:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110700.F124B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:07:00 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Interix.common Unix.common Log message: PKG_INSTALL is defined later, so move back to Unix.common; probably could be better but ok From jkrell at elego.de Sat Nov 28 12:09:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:09:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110915.B2C2A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:09:15 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: fix newlines From jkrell at elego.de Sat Nov 28 12:11:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:11:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128111111.8BA682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:11:11 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: do even less on most platforms From jkrell at elego.de Sat Nov 28 12:12:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:12:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128111246.99BAF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:12:46 Modified files: cm3/m3-win/ntdll/src/: ntdll.c Log message: trim it down From jkrell at elego.de Sat Nov 28 12:20:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:20:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128112039.93CF22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:20:39 Modified files: cm3/m3-win/ntdll/src/: ntdll.c Log message: extern C From jkrell at elego.de Sat Nov 28 12:50:26 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:50:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128115028.BE5842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:50:26 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: NT386.common Unix.common cm3cfg.common Log message: support "libfoo.a.sa" for "standalone" in Interix like NT386's "foo.lib.sa" simple: move ConvertLibsToStandalone from NT386.common to cm3cfg.common add call to it produce the .sa files (move foo.a foo.a.sa, etc.) From hosking at elego.de Sat Nov 28 23:57:43 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 28 Nov 2009 23:57:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128225744.10D682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/28 23:57:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Fix names in process procedure to match declaration in RTThread.i3. From jkrell at elego.de Sun Nov 29 03:43:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 3:43:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129024319.C46B32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 03:43:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Unix.common Log message: move IsInterix so it is more available and can filter gui stuff From jkrell at elego.de Sun Nov 29 04:45:00 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 4:45:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129034501.EA6422474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 04:45:00 Modified files: cm3/m3-ui/ui/src/xvbt/: m3makefile Log message: filter out for Interix (maybe we should be checking for X11 in SYSTEM_LIBS or SYSTEM_LIBORDER? (imagine some wierdo system which X is 'built in' though) From jkrell at elego.de Sun Nov 29 04:46:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 4:46:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129034658.973592474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 04:46:58 Modified files: cm3/m3-ui/ui/src/xvbt/: m3makefile Log message: use if SYSTEM_LIBS contains X11 like m3-ui\X11R4 (which I'm sure I put in; need consensus here) From jkrell at elego.de Sun Nov 29 05:13:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:13:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129041330.083E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:13:29 Modified files: cm3/m3-ui/X11R4/src/: m3makefile Log message: experiment wrt X and Interix build it all, but just don't import_sys_lib("X11") if it isn't there this works as long as the library is entirely "external" and doesn't actually contain any code that links to anything (ie: if we avoid cloning headers, this won't work, not clear what is best, and not clear how to filter well, in particular, only this low level should really know about X11, higher up should check for their immediate dependencies I kind of think..) From jkrell at elego.de Sun Nov 29 05:44:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:44:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129044459.84F4F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:44:58 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Log message: proc HasGui() is return not IsInterix() end From jkrell at elego.de Sun Nov 29 05:48:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:48:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129044900.219012474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:48:59 Modified files: cm3/m3-ui/videovbt/src/: m3makefile Log message: use HasGui to skip on Interix (at least for now, I really should be able to get X to work on Interix, it's only X CLIENT after all, not server) From jkrell at elego.de Sun Nov 29 05:55:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:55:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129045525.4299F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:55:24 Modified files: cm3/m3-ui/bicycle/src/: m3makefile cm3/m3-ui/cmvbt/src/: m3makefile cm3/m3-ui/formsvbt/src/: m3makefile cm3/m3-ui/images/src/: m3makefile cm3/m3-ui/juno-2/juno-app/src/: m3makefile cm3/m3-ui/ui/test/Argus/src/: m3makefile cm3/m3-ui/ui/test/BadBricks/src/: m3makefile cm3/m3-ui/ui/test/ButtonTest/src/: m3makefile cm3/m3-ui/ui/test/Cards/src/: m3makefile cm3/m3-ui/ui/test/ColorMonster/src/: m3makefile cm3/m3-ui/ui/test/Draw/src/: m3makefile cm3/m3-ui/ui/test/EyesVBT/src/: m3makefile cm3/m3-ui/ui/test/Hello/src/: m3makefile cm3/m3-ui/ui/test/Monster/src/: m3makefile cm3/m3-ui/ui/test/Sketch2/src/: m3makefile cm3/m3-ui/ui/test/StarAnim/src/: m3makefile cm3/m3-ui/ui/test/Track/src/: m3makefile cm3/m3-ui/ui/test/TypeInTest/src/: m3makefile cm3/m3-ui/ui-tests/pixmapcomtest/src/: m3makefile cm3/m3-ui/vbtkit/src/: m3makefile cm3/m3-ui/webvbt/src/hyperpage/src/: m3makefile Log message: wherever there is import("ui"), wrap in if HasGui() From jkrell at elego.de Sun Nov 29 06:06:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:06:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129050647.7B1272474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:06:46 Modified files: cm3/m3-ui/codeview/src/: m3makefile cm3/m3-ui/formsedit/src/: m3makefile cm3/m3-ui/formsview/src/: m3makefile cm3/m3-ui/mg/src/: m3makefile cm3/m3-ui/ui-tests/test25/src/: m3makefile cm3/m3-ui/ui-tests/texturecomtest/src/: m3makefile cm3/m3-ui/webvbt/src/: m3makefile Log message: Wherever there is import("formsvbt"), wrap with HasGui(). From jkrell at elego.de Sun Nov 29 06:18:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:18:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129051842.059C02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:18:41 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Log message: proc HasOpenGL() is % but see http://www.interix.com/Motif-OpenGL.htm return not IsInterix() end From jkrell at elego.de Sun Nov 29 06:21:52 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:21:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129052153.0E57D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:21:52 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Log message: remove OPENGL and MOTIF from I386_INTERIX, though both are available from third party From jkrell at elego.de Sun Nov 29 06:51:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:51:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129055140.CBD5D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:51:39 Modified files: cm3/m3-ui/bicycle/src/: m3makefile cm3/m3-ui/cmvbt/src/: m3makefile cm3/m3-ui/codeview/src/: m3makefile cm3/m3-ui/formsvbt/src/: m3makefile cm3/m3-ui/images/src/: m3makefile cm3/m3-ui/mg/src/: m3makefile cm3/m3-ui/mgkit/src/: m3makefile cm3/m3-ui/ui/src/xvbt/: m3makefile cm3/m3-ui/ui/test/EyesVBT/src/: m3makefile cm3/m3-ui/vbtkit/src/: m3makefile cm3/m3-ui/videovbt/src/: m3makefile cm3/m3-ui/webvbt/src/: m3makefile cm3/m3-ui/webvbt/src/hyperpage/src/: m3makefile cm3/m3-ui/zeus/src/: m3makefile Log message: change if HasGui() .. Library(xxx) end to if HasGui() build_standalone() end ... Library(xxx) so we still compile all the code, which is arguably worthwhile test coverage (we could also change program that won't link into standalone libraries, but for now, I haven't made that call) From jkrell at elego.de Sun Nov 29 07:09:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:09:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129060907.781D22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:09:06 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: use IsInterix instead of reimplementing it From jkrell at elego.de Sun Nov 29 07:09:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:09:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129060946.AB8142474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:09:46 Added files: cm3/m3-win/ntdll/: .cvsignore Log message: add .cvsignore From jkrell at elego.de Sun Nov 29 07:13:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:13:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061314.BB94D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:13:14 Modified files: cm3/m3-obliq/obliqsrvui/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:14:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:14:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061443.302412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:14:43 Modified files: cm3/m3-obliq/obliqbinui/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:15:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:15:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061559.950C32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:15:58 Modified files: cm3/m3-obliq/obliqbinanim/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:40:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:40:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129064050.A5F922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:40:48 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Log message: remove --no-undefined, at least for now From jkrell at elego.de Mon Nov 30 03:33:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 3:33:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130023326.A24CD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 03:33:26 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Unix.common Log message: use whole-archive on Interix to shorten command lines; did not have proposed affect of causing unresolved symbols to be resolved but ok From wagner at elegosoft.com Mon Nov 30 08:14:24 2009 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 30 Nov 2009 08:14:24 +0100 Subject: [M3commit] CVS Update: add link to contributed Debian archives In-Reply-To: References: <20091115123820.51F5B2474001@birch.elegosoft.com> Message-ID: <20091130081424.2hkzni7nwow4g4sw@mail.elegosoft.com> Quoting Jay K : > Note that the Hudson build produces .deb files: > > % pwd > /var/www/modula3.elegosoft.com/cm3/releng > % ls -l *deb > -rw-r--r-- 1 hudson m3 42426960 2009-11-03 08:39 cm3-AMD64_LINUX-RC4.deb > -rw-r--r-- 1 hudson m3 68637358 2009-11-03 16:30 cm3-FreeBSD4-RC4.deb > -rw-r--r-- 1 hudson m3 41463292 2009-09-27 21:49 cm3-LINUXLIBC6-pre-RC4.deb > -rw-r--r-- 1 hudson m3 71685410 2009-11-04 23:57 cm3-PPC_DARWIN-RC4.deb > -rw-r--r-- 1 hudson m3 37000860 2009-11-04 18:27 cm3-SOLgnu-RC4.deb > > I know non-Linux-.deb might seem odd, but the file format is just > .tar.{gz,bz2,lzma} inside an ar file with just a bit more > information. They are just like the other packages except there is > no installer and the paths include a hardcoded /usr/local/cm3. > > These .deb files contain "everything" so there is less to test and > less to implement (I realize it is a tradeoff). > > Maybe link to these too? Of course we should link them, too. You should just have extended the index build script when you introduced those. I'll have a look tonight, unless you are faster. I'd just put them in a separate paragraph, as there seems to be only one per platform. Olaf -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From jkrell at elego.de Mon Nov 30 10:05:53 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:05:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130090553.CFE892474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:05:53 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: rewrite to do everything, so maybe less special casing in Unix.common From jkrell at elego.de Mon Nov 30 10:23:24 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:23:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092324.EF27F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:23:24 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: rewrite again From jkrell at elego.de Mon Nov 30 10:27:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:27:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092706.02E0C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:27:05 Modified files: cm3/m3-obliq/visualobliq/src/: m3makefile cm3/m3-obliq/voquery/src/: m3makefile cm3/m3-obliq/vorun/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:28:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:28:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092845.39AB42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:28:45 Modified files: cm3/m3-tools/rehearsecode/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:30:33 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:30:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130093033.699DC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:30:33 Modified files: cm3/m3-tools/replayheap/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:31:52 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:31:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130093152.F26352474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:31:52 Modified files: cm3/m3-tools/showthread/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:40:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:40:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094043.9370F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:40:43 Modified files: cm3/m3-demo/calculator/src/: m3makefile cm3/m3-demo/cube/src/: m3makefile cm3/m3-demo/fisheye/src/: m3makefile cm3/m3-demo/sharedboard/boardclient/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:41:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:41:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094105.83A812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:41:05 Modified files: cm3/m3-tools/showheap/src/: m3makefile cm3/m3-tools/shownew/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:43:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:43:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094326.221CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:43:26 Modified files: cm3/m3-demo/mentor/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:44:55 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:44:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094455.603822474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:44:55 Modified files: cm3/m3-www/deckscape/src/: m3makefile cm3/m3-www/webscape/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:53:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:53:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095345.40E2E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:53:45 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: print more information when it fails (just saw it happen :( ) From jkrell at elego.de Mon Nov 30 10:54:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:54:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095419.99D832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:54:19 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: tweak to repeat less and use relative up paths sometimes (was trying to fix a problem but this wasn't it) From jkrell at elego.de Mon Nov 30 10:54:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:54:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095459.7B1642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:54:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: fix newlines From jkrell at elego.de Mon Nov 30 10:59:49 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:59:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095949.AAC0D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:59:49 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: more information for errors From jkrell at elego.de Mon Nov 30 11:00:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 11:00:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130100051.BB2E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 11:00:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: explicit calling convention From jkrell at elego.de Mon Nov 30 13:00:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 13:00:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130120023.A55DB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 13:00:22 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: strange need for sleep/retry in duplicating current thread, we get a few access denied otherwise From jkrell at elego.de Mon Nov 30 13:03:07 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 13:03:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130120307.D45102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 13:03:07 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: keep two thread handles what to call them is unclear here we ahve: joinHandle suspendResumeHandle aka: pthread ntthread on all but Interix (and possibly Cygwin), they are equivalent, either the result of pthread_create or pthread_self on Interix, once is pthread_create/self, the other is a kernel handle for suspend/resume alternate names welcome the intent seems hoky, but helps much From jay.krell at cornell.edu Sun Nov 1 12:10:38 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 1 Nov 2009 11:10:38 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091031183838.70EBACC109@birch.elegosoft.com> References: <20091031183838.70EBACC109@birch.elegosoft.com> Message-ID: This seems to fix the Juno Windows @paranoidgc break. Before I couldn't run Juno even once through its initial parsing, now it's run 20 times and counting. - Jay > Date: Sat, 31 Oct 2009 19:38:38 +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/10/31 19:38:38 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 > > Log message: > I may have broken old space write barriers... revert until can be > reconsidered. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 1 12:24:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:24:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101112427.7E1842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:24:27 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: NT386 Log message: style alteration From jkrell at elego.de Sun Nov 1 12:34:20 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:34:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101113420.CFD882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:34:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Don't bother getting the previous count in ReleaseSemaphore since it is never used (matches head). From jkrell at elego.de Sun Nov 1 12:41:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:41:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101114103.0C4F62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:41:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: win9x compat (or at least compat with older docs, which I presume correlates) -- don't pass NIL for threadid parameter of CreateThread From jkrell at elego.de Sun Nov 1 12:53:10 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Nov 2009 12:53:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091101115311.168962474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/01 12:53:10 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove incorrect perf notification (all cross-thread ones were recently changed to non cross-thread in order that id == GetCurrentThreadId()) From jkrell at elego.de Mon Nov 2 11:56:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 11:56:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102105656.743DF2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 11:56:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Fix occasional hang starting up Juno -- or rather, fix random hangs in any Win32 Modula-3 code. SuspendThread/ResumeThread wasn't being balanced. The symptom in Juno is that the posted "forge vbt" event wasn't getting recieved. The giveaway however was noticing suspend counts >1 in the debugger when you'd really only expect them all to be 1, or sometimes in Modula-2, 2. But no more than one thread should be 2 and none should be higher. From jkrell at elego.de Mon Nov 2 12:07:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:07:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102110744.A198E2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:07:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: go back a version; that isn't right either From jkrell at elego.de Mon Nov 2 12:23:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:23:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102112319.9954F2474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:23:19 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapRep.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Balance SuspendThread/ResumeThread so as to not randomly hang, such as in Juno startup. From jkrell at elego.de Mon Nov 2 12:28:36 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:28:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102112836.72510CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:28:36 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapRep.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: put suspended directly in Thread analogous to pthread (which uses a 4 state enum for the same information) From jkrell at elego.de Mon Nov 2 12:30:58 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:30:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102113058.29D89CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:30:58 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move it up to the transparent ones From jkrell at elego.de Mon Nov 2 12:39:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:39:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102113922.3BC602474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:39:22 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: manage suspended more correct with regard to thread creation From jkrell at elego.de Mon Nov 2 12:53:39 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 12:53:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102115339.74E4BCC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 12:53:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: reshrink critical section by using interlocked From jkrell at elego.de Mon Nov 2 13:11:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:11:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121103.CCF29CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:11:03 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 Thread.i3 Log message: cosmetic change from head From jkrell at elego.de Mon Nov 2 13:14:02 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:14:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121403.4AC70CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:14:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: portability fix From jkrell at elego.de Mon Nov 2 13:17:56 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:17:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102121756.BE9142474004@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:17:56 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 m3makefile Added files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadDebug.c ThreadDebug.i3 Log message: new files from head, in case we fully merge ThreadWin32.m3 From jkrell at elego.de Mon Nov 2 13:30:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:30:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102123006.163232474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:30:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Remove idle thread code. I had recently bumped the idle thread count to 0 and the code is gone in head. However this was in response to heap corruption that was ultimately found to be caused by something else, so maybe maybe maybe we should restore this code for a performance gain. Maybe. From jkrell at elego.de Mon Nov 2 13:39:08 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:39:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102123910.562ABCC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:39:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Fix to balance SuspendThread and ResumeThread to avoid "random" hangs, such as in Juno startup. From jkrell at elego.de Mon Nov 2 13:44:14 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 13:44:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102124414.BF2EECC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 13:44:14 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove more idle thread remains From jkrell at elego.de Mon Nov 2 14:02:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:02:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130221.A7E0ECC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:02:20 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadInternal.i3 ThreadWin32.m3 Log message: equate thread id with Windows GetCurrentThreadId this requires moving a few perf notifications to be from within the thread instead of the e.g. creating/joining thread From jkrell at elego.de Mon Nov 2 14:07:00 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:07:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130701.384252474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:07:00 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Remove ridiculous threadMu that serializes access to all fields of all threads. Instead make each thread have its own lock. From jkrell at elego.de Mon Nov 2 14:09:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:09:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102130905.4C7922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:09:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: There is no need to guard use of "unlinked" locals with a critical section, esp./including a call into the kernel (CloseHandle). (match head) From jkrell at elego.de Mon Nov 2 14:10:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:10:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131003.F25022474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:10:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove comment about idle threads From jkrell at elego.de Mon Nov 2 14:11:04 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:11:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131104.EE9CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:11:04 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove another idle thread comment reference From jkrell at elego.de Mon Nov 2 14:15:37 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:15:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131537.3E3E0CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:15:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: Rename "cond" to "join". Slight cleanup in RunThread to match pthread/head. From jkrell at elego.de Mon Nov 2 14:16:40 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:16:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131640.A945C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:16:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: cosmetic: remove comment about idle threads, save a newline, add a semicolon From jkrell at elego.de Mon Nov 2 14:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102131846.E8CADCC362@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:18:46 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: remove unused lock from Condition From jkrell at elego.de Mon Nov 2 14:24:53 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:24:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102132453.B065F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:24:53 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: assert inCritical = 1 in Init From jkrell at elego.de Mon Nov 2 14:30:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 14:30:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102133027.21D9E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 14:30:26 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: InitActivations is only called once; inline it From jkrell at elego.de Mon Nov 2 15:24:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:24:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102142401.96035CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:24:01 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: thread-safe manipulation of suspendCount does not necessarily? lead to the correct decision; start fixing this From jkrell at elego.de Mon Nov 2 15:44:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:44:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102144447.313132474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:44:47 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: raise an exception when CreateThread fails (presumably low memory) and remove useless checks From jkrell at elego.de Mon Nov 2 15:47:39 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 15:47:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102144739.6E7F02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 15:47:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix very dubious looking code in rare condition in AssignSlot, probably can rewrite this function better though From jkrell at elego.de Mon Nov 2 16:00:50 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:00:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102150050.5D8242474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:00:50 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Go back to critical section for suspendCount; I don't see a simple way around it. From jkrell at elego.de Mon Nov 2 16:18:02 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:18:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102151803.0E58F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:18:02 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: use literal type instead of explcit type f := 1 instead of f: INTEGER := 1 From jkrell at elego.de Mon Nov 2 16:20:40 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:20:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152040.E4F54CC103@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:20:40 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: save a newline From jkrell at elego.de Mon Nov 2 16:24:34 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:24:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152434.968E6CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:24:34 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: back to a criticalsection for suspendCount inline InitActivations start out inCritical From jkrell at elego.de Mon Nov 2 16:26:08 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:26:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102152608.C7840CC308@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:26:08 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: fix AssignSlot under race condition + low resources From jkrell at elego.de Mon Nov 2 16:42:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:42:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102154244.0FFAA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:42:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: merge StopWorld into its only caller SuspendOthers, similar to how ResumeOthers was already written seemingly avoid unnecessary calls to GetActivation also, though not sure this ever occurs recursively as the code is prepared to handle From jkrell at elego.de Mon Nov 2 16:44:13 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 16:44:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102154415.99A772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 16:44:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: fix From jkrell at elego.de Mon Nov 2 17:31:12 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 17:31:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102163112.EE3552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 17:31:12 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: - remove the funny recursive retry in favor a normal loop - use a clearer and more accurate test to determine who won the race The previous code was ok but the comment not always right as multiple threads could allocate a table of n+n size. From hosking at elego.de Mon Nov 2 19:18:32 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 2 Nov 2009 19:18:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102181832.981772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/02 19:18:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's make the mutex in Condition explicit rather than inherited. Implementation of Condition may change making it not like a mutex exactly. From jkrell at elego.de Mon Nov 2 22:52:20 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:52:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215221.215252474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:52:20 Modified files: cm3/scripts/python/: pylib.py Log message: should allow building Debian packages for any target From jkrell at elego.de Mon Nov 2 22:57:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:57:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215716.4916F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:57:16 Modified files: cm3/scripts/python/: Tag: release_branch_cm3_5_8 pylib.py Log message: should allow building Debian packages for any target From jkrell at elego.de Mon Nov 2 22:58:06 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Nov 2009 22:58:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102215806.C729DCC103@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/02 22:58:06 Modified files: cm3/scripts/python/: pylib.py Log message: a few more processor names From wagner at elego.de Tue Nov 3 00:24:02 2009 From: wagner at elego.de (Olaf Wagner) Date: Tue, 3 Nov 2009 0:24:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091102232403.1A625CC107@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/03 00:24:02 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 make-dist.sh version Log message: move to RC4 at last From jkrell at elego.de Tue Nov 3 10:47:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 10:47:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103094734.A18512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 10:47:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: restore it to compiling -- put back Condition inheriting from MUTEX and use the correct identifier on END From jkrell at elego.de Tue Nov 3 11:54:57 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 11:54:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103105457.242122474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 11:54:57 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: adapt to use pthread_suspend/resume_np on OpenBSD only crashes though Can we fix it? Maybe. From jkrell at elego.de Tue Nov 3 11:56:31 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 11:56:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103105631.871D72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 11:56:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 Log message: fix so it compiles From jkrell at elego.de Tue Nov 3 12:01:10 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:01:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103110110.6D38B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:01:10 Modified files: cm3/m3-libs/m3core/src/: thread.quake cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c context.h Log message: slightly adapt so OpenBSD can compile/link user threads, and uses them by default. (OpenBSD doesn't have ucontext.h and has a wierd ucontext.h; we replace them in our context.h) but also crashes Can we fix it? Maybe. Some of the #ifdef __OpenBSD__ should be dropped as compilation is tested on other platforms. From jkrell at elego.de Tue Nov 3 12:25:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:25:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103112543.C34E32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:25:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/: thread.quake Log message: neuter OpenBSD changes pending investigation/fix; it worked 'better' before even though it didn't really work From jkrell at elego.de Tue Nov 3 12:57:57 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 12:57:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103115757.3ED7C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 12:57:56 Modified files: cm3/scripts/: sysinfo.sh Log message: remove echos that break m3-sys/cm3/src/version.quake From jkrell at elego.de Tue Nov 3 13:02:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:02:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103120239.0D2E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:02:39 Modified files: cm3/scripts/: Tag: release_branch_cm3_5_8 sysinfo.sh Log message: reduce echoing that causes problems From jkrell at elego.de Tue Nov 3 13:06:33 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:06:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103120633.958402474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:06:33 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: OpenBSD.common Unix.common Log message: Actually use -static on OpenBSD as OpenBSD seems to have absolutely zero compatibility for dynamic files across releases with default installs -- libc.so changes name. This addresses cm3. cm3cg still needs a fix like this. From jkrell at elego.de Tue Nov 3 13:38:05 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:38:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103123805.E95F12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:38:05 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: remove unused macro ZeroMemory From jkrell at elego.de Tue Nov 3 13:50:17 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:50:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103125018.0A4E62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:50:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: go ahead and zero act, oact, being sure to #define ZeroMemory like in m3unix.h to hopefully avoid warning (in time we'll probably #include m3unix.h always here and remove the #define, once we compile on a few more systems) From jkrell at elego.de Tue Nov 3 13:59:38 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 13:59:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103125938.3F5082474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 13:59:38 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: fix for C++ -- #include string.h and cast from void* From jkrell at elego.de Tue Nov 3 14:07:46 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:07:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103130746.AEBD12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:07:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: check for failure From jkrell at elego.de Tue Nov 3 14:10:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:10:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131043.9B1522474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:10:43 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: check for failure From jkrell at elego.de Tue Nov 3 14:13:58 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:13:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131358.847382474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:13:58 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: check for failure From jkrell at elego.de Tue Nov 3 14:15:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:15:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103131550.40FB02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:15:50 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: fill in the stack in getcontext (just to the address of parameter), so we don't access NULL From jkrell at elego.de Tue Nov 3 14:20:21 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:20:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103132021.ED9E02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:20:21 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: style: use NULL instead of 0 (arguable) From jkrell at elego.de Tue Nov 3 14:23:36 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:23:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103132336.53FF82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:23:36 Modified files: cm3/m3-libs/m3core/src/: thread.quake Log message: again userthreads on OpenBSD, seems to work From jkrell at elego.de Tue Nov 3 14:49:25 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:49:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103134925.F29A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:49:24 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: 0 to NULL From jkrell at elego.de Tue Nov 3 14:55:24 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 14:55:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103135524.8768E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 14:55:24 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: cleanup the #ifs and #defines (compiles on OpenBSD/x86, Solaris/sparc, Darwin/x86) From jkrell at elego.de Tue Nov 3 15:02:26 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 15:02:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103140226.413CD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 15:02:26 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: -static on OpenBSD to avoid the ever changing libc.so name From jkrell at elego.de Tue Nov 3 16:21:30 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 16:21:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103152130.3C1C52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 16:21:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: only set ss_sp on the get side, not on the return size, seems to fix the OpenBSD problem..still testing.. From jkrell at elego.de Tue Nov 3 16:29:05 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 16:29:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103152905.7DEFA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 16:29:05 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: use just the one notion of the stack (from the jumpbuf instead of the address of a local or parameter) From jkrell at elego.de Tue Nov 3 17:54:32 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Nov 2009 17:54:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103165432.B5EB62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 17:54:32 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Ignore stacks of threads that aren't yet fully initialized/running. Now Juno works on OpenBSD/x86 with user threads! From hosking at elego.de Tue Nov 3 18:02:18 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:02:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103170218.8A5F72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:02:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Revert Condition = MUTEX OBJECT. Not sure why Jay undid this. Should work fine. From hosking at elego.de Tue Nov 3 18:06:06 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:06:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103170606.948A62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:06:06 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Undo undo. Sorry Jay. Forgot that InitMutex is used for both Condition and Mutex. From hosking at cs.purdue.edu Tue Nov 3 18:17:39 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 3 Nov 2009 12:17:39 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091103165432.B5EB62474001@birch.elegosoft.com> References: <20091103165432.B5EB62474001@birch.elegosoft.com> Message-ID: <9297A70B-EFF8-4840-B0D0-867229867928@cs.purdue.edu> Great catch! Hooray. Did you consider using the sigaltstack trick to implement makecontext rather than trolling around in the jmpbuf? On 3 Nov 2009, at 17:54, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/03 17:54:32 > > Modified files: > cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 > > Log message: > Ignore stacks of threads that aren't yet fully initialized/running. > Now Juno works on OpenBSD/x86 with user threads! -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Tue Nov 3 18:36:59 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 18:36:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103173700.024FC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 18:36:59 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Check for double join. From hosking at elego.de Tue Nov 3 19:03:50 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 19:03:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103180350.D7ED62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 19:03:50 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Revert until we resolve some questions as to spec for Join/AlertJoin. From hosking at elego.de Tue Nov 3 21:26:10 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:26:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103202610.B590E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:26:10 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTTypeSRC.i3 Log message: No need for TypecodeCharStar. We can print using RTIO.PutString(RTType.Get(tc).name). From hosking at elego.de Tue Nov 3 21:27:31 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:27:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103202731.67CB32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:27:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 Log message: No need for TypecodeCharStar. We can print using RTIO.PutString(RTType.Get(tc).name). From hosking at elego.de Tue Nov 3 21:30:21 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:30:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103203022.03C9D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:30:21 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 Log message: Oops, dropped TypeDefnToName somehow. From hosking at elego.de Tue Nov 3 21:42:51 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Nov 2009 21:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091103204251.38A102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/03 21:42:51 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Implement check that at most one thread can join. From jay.krell at cornell.edu Wed Nov 4 06:57:34 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 4 Nov 2009 05:57:34 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091103202731.67CB32474001@birch.elegosoft.com> References: <20091103202731.67CB32474001@birch.elegosoft.com> Message-ID: In @paranoidgc I didn't want the heap alloc that the existing function to get the name as TEXT used but didn't notice that RTType.Get was also public. - Jay > Date: Tue, 3 Nov 2009 21:27:31 +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/11/03 21:27:31 > > Modified files: > cm3/m3-libs/m3core/src/runtime/common/: RTType.m3 > > Log message: > No need for TypecodeCharStar. > We can print using RTIO.PutString(RTType.Get(tc).name). > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Nov 4 07:26:22 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 4 Nov 2009 06:26:22 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <9297A70B-EFF8-4840-B0D0-867229867928@cs.purdue.edu> References: <20091103165432.B5EB62474001@birch.elegosoft.com> Message-ID: I already had the nearly working makecontext code before you sent the link. Wrote it months ago. Using sigalstack is much more portable? I'll try to get to it at some point..not soon/no promises. - Jay From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Tue, 3 Nov 2009 12:17:39 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Great catch! Hooray. Did you consider using the sigaltstack trick to implement makecontext rather than trolling around in the jmpbuf? On 3 Nov 2009, at 17:54, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/03 17:54:32 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Ignore stacks of threads that aren't yet fully initialized/running. Now Juno works on OpenBSD/x86 with user threads! -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Nov 5 18:26:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:26:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105172630.254F12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:26:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Uexec.i3 Unix.i3 Uprocess.i3 Usched.i3 Uugid.i3 Uuio.i3 Log message: Trivial merge/copy from head: remove external pragamas on interfaces, add one functions to correlate (just on vfork -- in our current scheme functions need their own anyway to affect the rename, except that vfork cannot be wrapped without violating Posix spec (and we never use vfork, we use fork instead, fork is just as fast (or slow, Cygwin) on all our platforms, vfork is left here just for some sort of compat..though it isn't even exactly compatible (NetBSD?))))) From jkrell at elego.de Thu Nov 5 18:37:08 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:37:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105173710.24F212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:37:08 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Uin.c Log message: copy/merge from head -- #include arpa/inet.h From jkrell at elego.de Thu Nov 5 18:41:25 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:41:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174128.2BDB12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:41:25 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTIO.i3 Log message: from head -- fix a comment From jkrell at elego.de Thu Nov 5 18:42:40 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:42:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174240.0EBAB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:42:40 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Upwd.i3 Log message: copy from head -- remove pragma extern on interfaces From jkrell at elego.de Thu Nov 5 18:49:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:49:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105174933.7FB5F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:49:29 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Tag: release_branch_cm3_5_8 context.c context.h Log message: Trivial and so far moot copy/merge from head. - move #defines get/set/make/swapcontext Uucontext__get/set/make/swapcontext from .c to .h, so that over in ThreadPosix.c they can #include context.h and get them - only store the stack pointer for the first call to setjmp, not both These only matter if we port more stuff from head and then only for OpenBSD or (untested) pre-10.5 Darwin/PPC. (There is the minor matter of 10.4 Darwin/Intel.) From hosking at elego.de Thu Nov 5 18:53:44 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 18:53:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175345.A05AA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 18:53:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 ThreadPThreadC.c Log message: Revert state management to what it used to be. Add (hopefully correct) extraction of sp for OpenBSD. From jkrell at elego.de Thu Nov 5 18:54:32 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:54:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175432.B64D12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:54:32 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 RTCollectorSRC.i3 Log message: minor partial merge from head -- add do-nothing DisableVM for slightly improved source compatibility with older cm3 (slightly easier building of old cm3 against new m3core, which I sometimes run into investigating historical behavior and when things changed, which is a scenario that doesn't work well and is only a very minor improvement to) From jkrell at elego.de Thu Nov 5 18:56:22 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 18:56:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105175622.AF7642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 18:56:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 Usignal.i3 Log message: copy from head -- remove pragma extern on interfaces From jkrell at elego.de Thu Nov 5 19:52:47 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 19:52:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105185248.4393F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 19:52:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix typo and limit width to 80 (I'm not strict about this, but I happen to be in a narrow terminal and it is easy here); but it doesn't work anyway and is disabled, user threads for now From jkrell at elego.de Thu Nov 5 20:37:02 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Nov 2009 20:37:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105193702.876C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/05 20:37:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: use common code Self/SelfOrDie/XJoin though the diagnostics suffer slightly in terms of function name/line (we could pass them in, but that maybe is not worth the cost) From hosking at elego.de Thu Nov 5 21:54:38 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 21:54:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105205438.A30DD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 21:54:38 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Non-M3 threads should never hold Mutex or Condition references (otherwise the GC cannot find those references). Non-M3 threads should never call TestAlert. From hosking at elego.de Thu Nov 5 22:09:29 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 22:09:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105210929.99F2C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 22:09:29 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Fix compilation error. And eliminate GetActivation. From hosking at elego.de Thu Nov 5 22:15:40 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 22:15:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105211540.803812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 22:15:40 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Let's keep all calls to Self at the top-level entry points. From hosking at elego.de Thu Nov 5 23:13:33 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Nov 2009 23:13:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105221333.730602474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/05 23:13:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Print out errno for unexpected values. From hosking at elego.de Fri Nov 6 00:01:08 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 0:01:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105230108.354AD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 00:01:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Some more sanity checking for Mika. From hosking at elego.de Fri Nov 6 00:35:21 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 0:35:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091105233522.1A57B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 00:35:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Another version for Mika to try. Not sure why we might need to extract the semaphore value yet again, but OK. From wagner at elego.de Fri Nov 6 01:36:39 2009 From: wagner at elego.de (Olaf Wagner) Date: Fri, 6 Nov 2009 1:36:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091106003640.9FF962474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/06 01:36:39 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html cm3/www/releng/: Tag: release_branch_cm3_5_8 download-frag.html index.html update-releng-index.sh Added files: cm3/www/releng/: Tag: release_branch_cm3_5_8 relnotes-5.8-RC4.html Log message: switch to RC4 From hosking at elego.de Fri Nov 6 19:28:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 6 Nov 2009 19:28:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091106182838.0C31C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/06 19:28:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: The assertion may be wrong (cf. Boehm collector pthread_stop_world.c). From wagner at elego.de Sat Nov 7 19:56:36 2009 From: wagner at elego.de (Olaf Wagner) Date: Sat, 7 Nov 2009 19:56:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107185636.D96652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/07 19:56:36 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 index.html nav-home.html news.html Added files: cm3/www/: Tag: release_branch_cm3_5_8 olds.html startf.html Log message: split news and start page From wagner at elego.de Sat Nov 7 20:00:58 2009 From: wagner at elego.de (Olaf Wagner) Date: Sat, 7 Nov 2009 20:00:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107190058.DFAA82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/07 20:00:58 Modified files: cm3/www/releng/: Tag: release_branch_cm3_5_8 relnotes-5.8-RC4.html Log message: fix link From hosking at elego.de Sat Nov 7 20:39:24 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 7 Nov 2009 20:39:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107193924.212D22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/07 20:39:24 Modified files: cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: Drop ref to Upthread. From jkrell at elego.de Sat Nov 7 22:34:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:34:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107213428.211A22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:34:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: no need for these self variables that are only used once (except maybe where the order varies) From jkrell at elego.de Sat Nov 7 22:52:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:52:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107215256.C03B02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:52:56 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Slightly restructure for better code sharing and greater similarity with Pthread implementation (maybe we can share more code..) Copy the code from pthread as well for correctly dealing with an alert within AlertWait. From jkrell at elego.de Sat Nov 7 22:55:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 7 Nov 2009 22:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091107215505.EDEF82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/07 22:55:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: need to clear join after broadcast for the Alert during AlertWait code, like pthread From hosking at elego.de Sun Nov 8 09:19:08 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 8 Nov 2009 9:19:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108081908.CD24C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/08 09:19:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: m3makefile cm3/m3-libs/m3core/src/unix/darwin-generic/: m3makefile cm3/m3-libs/m3core/src/unix/freebsd-4/: m3makefile cm3/m3-libs/m3core/src/unix/linux-libc6/: m3makefile cm3/m3-libs/m3core/src/unix/solaris-2-x/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.c Upthread.i3 cm3/m3-libs/m3core/src/unix/darwin-generic/: Upthread.i3 Upthread.m3 cm3/m3-libs/m3core/src/unix/freebsd-4/: Upthread.i3 cm3/m3-libs/m3core/src/unix/linux-libc6/: Upthread.i3 cm3/m3-libs/m3core/src/unix/solaris-2-x/: Upthread.i3 Log message: Rework ThreadPThread to avoid use of deprecated Upthread.i3. Delete Upthread files. Rework ThreadPThread to avoid expensive Self() call on thread primitives by putting the thread state in the (UNTRACED) Activation rather than Thread.T. Be much more cautious about resending signals to avoid too many acks. Hopefully this will fix the reported errors on FreeBSD7. Needs thorough testing on all platforms (help appreciated). Tested on I386_DARWIN, but needs testing on non-Darwin systems that use signals to stop threads. From hosking at elego.de Sun Nov 8 22:17:11 2009 From: hosking at elego.de (Antony Hosking) Date: Sun, 8 Nov 2009 22:17:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108211711.7302BCC369@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/08 22:17:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: This appears to work on Mika's AMD64_FREEBSD box, at least for p007. Further testing needed. Hopefully should also fix the problems on OpenBSD? From jkrell at elego.de Sun Nov 8 22:42:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 8 Nov 2009 22:42:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108214257.77458CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 22:42:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline InitActivations into its only caller Init From jkrell at elego.de Sun Nov 8 23:22:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 8 Nov 2009 23:22:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108222205.CD0302474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 23:22:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline RunThread in its only caller ThreadBase From jkrell at elego.de Mon Nov 9 00:06:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:06:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108230643.DE61B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:06:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: update coment to not refer to RunThread that I removed From jkrell at elego.de Mon Nov 9 00:09:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:09:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108230922.0D7202474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:09:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: please, no tabs From jkrell at elego.de Mon Nov 9 00:37:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:37:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108233705.89972CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:37:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: reduce critical section slightly (I don't think the locking is needed here at all actually.) From jkrell at elego.de Mon Nov 9 00:43:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:43:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108234316.240272474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:43:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: something odd here, go back a version From jkrell at elego.de Mon Nov 9 00:49:37 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 0:49:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091108234937.DDFC0CC368@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 00:49:37 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: go back to Tony's version 163 otherwise I intermittently get: *** *** runtime error: *** Thread client error: unslotted thread! *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 360 *** which I think may indicate some other bug or fragility From hosking at cs.purdue.edu Mon Nov 9 01:11:30 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:11:30 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091108214257.77458CC368@birch.elegosoft.com> References: <20091108214257.77458CC368@birch.elegosoft.com> Message-ID: <87C97B8B-1744-4550-9E20-BDF9098CD40E@cs.purdue.edu> Don't do that! Let the compiler do it if it decides to. The separation is conceptually important! 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 8 Nov 2009, at 22:42, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/08 22:42:56 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > inline InitActivations into its only caller Init -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 9 01:11:57 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:11:57 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091108222205.CD0302474001@birch.elegosoft.com> References: <20091108222205.CD0302474001@birch.elegosoft.com> Message-ID: Also, no! We want to maintain the conceptual separation between the traced and untraced worlds! 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 8 Nov 2009, at 23:22, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/08 23:22:05 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > inline RunThread in its only caller ThreadBase -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:14:25 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:14:25 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091108222205.CD0302474001@birch.elegosoft.com> Message-ID: I undid this, sorry. From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Sun, 8 Nov 2009 19:11:57 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Also, no! We want to maintain the conceptual separation between the traced and untraced worlds! 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 8 Nov 2009, at 23:22, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 23:22:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline RunThread in its only caller ThreadBase -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:16:30 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:16:30 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <87C97B8B-1744-4550-9E20-BDF9098CD40E@cs.purdue.edu> References: <20091108214257.77458CC368@birch.elegosoft.com> Message-ID: Is it really? Thread.Init vs. Thread.InitActivations? I undid it because I was undoing other stuff but this part seems ok to me. It is sometimes easier to see relationships by inlining, when one small function calls another, I actually can't see enough on my screen at once (as opposed to the more normal problem of functions being too long to see enough). ThreadBase vs. RunThread there are issues there, I'll leave it as you left it. - Jay From: hosking at cs.purdue.edu To: jkrell at elego.de Date: Sun, 8 Nov 2009 19:11:30 -0500 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Don't do that! Let the compiler do it if it decides to. The separation is conceptually important! 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 8 Nov 2009, at 22:42, Jay Krell wrote: CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/08 22:42:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: inline InitActivations into its only caller Init -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 9 01:22:16 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:22:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109002216.D0F112474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:22:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: no locking needed here, during startup From hosking at elego.de Mon Nov 9 01:36:41 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 1:36:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109003642.6AE032474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 01:36:41 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: OK, fine, yes we don't need to lock in InitActivations. But why bother with the repeated assertions. From jay.krell at cornell.edu Mon Nov 9 01:41:46 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:41:46 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091109003642.6AE032474001@birch.elegosoft.com> References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: The repeated assertions somewhat ensure there was no race. Ok with removing them. - Jay > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > OK, fine, yes we don't need to lock in InitActivations. > But why bother with the repeated assertions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 9 01:45:13 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 8 Nov 2009 19:45:13 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: <2BE6DA34-B3A0-4445-A707-23A529C652B2@cs.purdue.edu> You have no guarantee there is no race anyway, since there is no synchronization to let you see the real state of things. On 8 Nov 2009, at 19:41, Jay K wrote: > The repeated assertions somewhat ensure there was no race. Ok with > removing them. > > - Jay > > > > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > > > Log message: > > OK, fine, yes we don't need to lock in InitActivations. > > But why bother with the repeated assertions. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 9 01:47:31 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 9 Nov 2009 00:47:31 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <2BE6DA34-B3A0-4445-A707-23A529C652B2@cs.purdue.edu> References: <20091109003642.6AE032474001@birch.elegosoft.com> Message-ID: ok 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: Sun, 8 Nov 2009 19:45:13 -0500 You have no guarantee there is no race anyway, since there is no synchronization to let you see the real state of things. On 8 Nov 2009, at 19:41, Jay K wrote: The repeated assertions somewhat ensure there was no race. Ok with removing them. - Jay > Date: Mon, 9 Nov 2009 01:36:41 +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/11/09 01:36:41 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 > > Log message: > OK, fine, yes we don't need to lock in InitActivations. > But why bother with the repeated assertions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 9 01:54:31 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:54:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109005431.CC291CC36B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:54:31 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: eliminate locking of reading slots ensure the writing is done with a careful ordering, using MemoryBarrier slots has high use on Win32 but low use now in pthreads (essentially Modula-3 Win32 threads had two big locks affecting "all" thread options, now down to one) From jkrell at elego.de Mon Nov 9 01:58:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 1:58:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109005822.E68312474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 01:58:22 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: tweak From jkrell at elego.de Mon Nov 9 02:11:38 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 2:11:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109011138.4EC3F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 02:11:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: remove locking from FreeSlot also, using InterlockedIncrement/Decrement on n_slotted From jkrell at elego.de Mon Nov 9 05:28:47 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:28:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109042847.BC7F92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:28:47 Added files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Atomic.i3 m3makefile Log message: experiment/prototype implementation of Atomic.MemoryBarrier for Win32, gcc, and Solaris (I know that is apples and oranges, but it isn't nonsense.) From jkrell at elego.de Mon Nov 9 05:29:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:29:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109042944.4607D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:29:44 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: fix for older Microsoft headers/compiler From jkrell at elego.de Mon Nov 9 05:49:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:49:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109044920.590842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:49:19 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: support for gcc < 4, x86 only for now (OpenBSD) From jkrell at elego.de Mon Nov 9 05:49:41 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:49:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109044941.99E4C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:49:41 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: remove newline From jkrell at elego.de Mon Nov 9 05:52:35 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:52:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045235.9116E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:52:35 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: cleanup From jkrell at elego.de Mon Nov 9 05:55:33 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:55:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045533.2AEA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:55:33 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: support older Microsoft compilers with maximal warnings (see m3unix.h) From jkrell at elego.de Mon Nov 9 05:58:13 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:58:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045813.B03AB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:58:13 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.i3 Log message: fix From jkrell at elego.de Mon Nov 9 05:58:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 5:58:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109045844.CC41F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 05:58:44 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: enable atomic, probably will need interface policing From jkrell at elego.de Mon Nov 9 06:10:27 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 6:10:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109051027.57FE22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 06:10:27 Modified files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Log message: calling convention From jkrell at elego.de Mon Nov 9 06:13:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 9 Nov 2009 6:13:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109051305.CED832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/09 06:13:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: use Atomic.MemoryBarrier instead of ThreadWin32.MemoryBarrier From hosking at elego.de Mon Nov 9 17:14:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 17:14:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109161439.938072474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 17:14:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: ThreadPThread.s no longer exists here. From hosking at elego.de Mon Nov 9 22:39:02 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 22:39:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109213902.701C82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 22:39:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachineASM.s cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachineASM.s Log message: Move SPARC window flushing code into C files as ASM. Eliminates a couple of files, and makes things more modular. From hosking at elego.de Mon Nov 9 23:31:33 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:31:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223133.CF5F02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:31:33 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.i3 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.i3 RTStackC.c cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTMachine.i3 m3makefile Log message: Clean up for compilation on both 64-bit and 32-bit. Need to verify that SPARC64_SOLARIS FrameInfo is correct before enabling stack walking on 64-bit. From hosking at elego.de Mon Nov 9 23:32:59 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:32:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223300.022FF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:32:59 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/AMD64_DARWIN/: 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/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/FreeBSD4/: 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/I386_DARWIN/: 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/LINUXLIBC6/: 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/PPC_DARWIN/: 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: Trash unnecessary code from old user-threads implementation. From hosking at elego.de Mon Nov 9 23:37:00 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:37:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223700.6BF222474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:37:00 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: Current atomic breaks on Mac OS X. Disable. From hosking at elego.de Mon Nov 9 23:38:15 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 9 Nov 2009 23:38:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091109223815.C71E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/09 23:38:15 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Avoid warning. From hosking at elego.de Tue Nov 10 04:47:30 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:47:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034731.C85652474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:47:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Put the memory barrier stuff here if it is needed for MSC. Generally, I prefer using the already-supported gcc intrinsics, which give inline instructions where needed. On x86, a StoreLoad membar can also be implemented using CAS/CASP builtins. This will be preferred for other targets than WIN32. Jay should decide what he wants to do. It can easily be supported by implementing the __sync_* functions that the gcc-based backend otherwise implements as intrinsics. Beware for now that the current gcc-based backend is not up-to-date for proper generation of mfence on x86. We need to move to a later version of gcc (gcc-4.4.1?) for that. Also, I am unconvinced that the current implementation of AssignSlot can ever be correct without the critical section. It requires atomic update of both the slots array pointer (with the new slots) *and* the array elements. This requires a proper CS instead of non-blocking synchronization. From hosking at elego.de Tue Nov 10 04:47:49 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:47:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034750.D823A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:47:49 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: Put the memory barrier stuff here if it is needed for MSC. Generally, I prefer using the already-supported gcc intrinsics, which give inline instructions where needed. On x86, a StoreLoad membar can also be implemented using CAS/CASP builtins. This will be preferred for other targets than WIN32. Jay should decide what he wants to do. It can easily be supported by implementing the __sync_* functions that the gcc-based backend otherwise implements as intrinsics. Beware for now that the current gcc-based backend is not up-to-date for proper generation of mfence on x86. We need to move to a later version of gcc (gcc-4.4.1?) for that. Also, I am unconvinced that the current implementation of AssignSlot can ever be correct without the critical section. It requires atomic update of both the slots array pointer (with the new slots) *and* the array elements. This requires a proper CS instead of non-blocking synchronization. From hosking at elego.de Tue Nov 10 04:49:15 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 4:49:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110034915.4FF0D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 04:49:15 Modified files: cm3/m3-libs/m3core/src/: m3makefile Log message: Ditch atomic here. Use CAS/CASP builtins in preference. From hosking at elego.de Tue Nov 10 05:02:14 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 5:02:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110040214.A26932474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 05:02:14 Removed files: cm3/m3-libs/m3core/src/atomic/: Atomic.c Atomic.i3 m3makefile Log message: Ditch atomic here. Use CAS/CASP builtins in preference. From hosking at elego.de Tue Nov 10 17:55:56 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 10 Nov 2009 17:55:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091110165556.481282474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/10 17:55:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: FreeBSD seems to lose signals somehow... So, let's be even more precise about states and signaling. From jkrell at elego.de Wed Nov 11 06:41:37 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 6:41:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111054137.880462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 06:41:37 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: cleanup (extern C, include atomic.h) From jkrell at elego.de Wed Nov 11 07:18:07 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 7:18:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111061808.453822474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 07:18:07 Modified files: cm3/m3-libs/m3core/src/win32/: WinNT.i3 WinNTc.c m3makefile Log message: cleanup WinNT__MemoryBarrier From jkrell at elego.de Wed Nov 11 07:21:05 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Nov 2009 7:21:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091111062105.97ACC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/11 07:21:05 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 ThreadWin32C.c Log message: use windows.h MemoryBarrier if available or WinNT__MemoryBarrier From hosking at elego.de Sat Nov 14 22:23:46 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:23:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114212346.9B45B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:23:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Use thread suspend/resume primitives on FreeBSD. I've tested p007 with this and it works fine on Mika's FreeBSD machine. Further testing needed please! Cleaned up thread state processing code. Made static mutexes directly accessible to eliminate special-purpose mutex routines. From hosking at elego.de Sat Nov 14 22:39:18 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:39:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114213918.EB7D42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:39:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Some assertions for OpenBSD. From hosking at elego.de Sat Nov 14 22:41:39 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 14 Nov 2009 22:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091114214139.10EA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/14 22:41:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Reorder for readability. From wagner at elego.de Sun Nov 15 13:38:20 2009 From: wagner at elego.de (Olaf Wagner) Date: Sun, 15 Nov 2009 13:38:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091115123820.51F5B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: wagner at birch. 09/11/15 13:38:20 Modified files: cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html top.html Log message: add link to contributed Debian archives From jkrell at elego.de Tue Nov 17 01:10:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:10:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117001056.7D9192474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:10:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: replace __0OpenBSD__ with __OpenBSD__ From jkrell at elego.de Tue Nov 17 01:12:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:12:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117001235.E75C0CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:12:35 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: replace Apple | FreeBSD | OpenBSD with M3_DIRECT_SUSPEND From jkrell at elego.de Tue Nov 17 01:20:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:20:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002009.2B0032474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:20:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: move all #includes to top rename CUSTOM_SUSPEND_ASSERT_FALSE to M3_DIRECT_SUSPEND_ASSERT_FALSE fprintf and abort after assert(0) From jkrell at elego.de Tue Nov 17 01:21:13 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:21:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002113.56FD0CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:21:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: remove redundant #define of ZeroMemory From jkrell at elego.de Tue Nov 17 01:25:20 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:25:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002520.62BAD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:25:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: ThreadPThread__SuspendThread and ThreadPThread__RestartThread are identical for OpenBSD and FreeBSD, don't duplicate them (we can probably use same for others such as NetBSD, Irix, AIX, and almost the same for Solaris) From jkrell at elego.de Tue Nov 17 01:26:35 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:26:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117002635.8C34A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:26:35 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: remove tentative (#if 0'ed) use of __thread From jkrell at elego.de Tue Nov 17 01:32:44 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 1:32:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117003244.717E4CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 01:32:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: comments and fix #if/#endif From hosking at cs.purdue.edu Tue Nov 17 03:27:34 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 16 Nov 2009 21:27:34 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091117002520.62BAD2474001@birch.elegosoft.com> References: <20091117002520.62BAD2474001@birch.elegosoft.com> Message-ID: Please don't use suspend, etc. for Solaris. On 17 Nov 2009, at 01:25, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/17 01:25:20 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > ThreadPThread__SuspendThread and ThreadPThread__RestartThread are > identical for OpenBSD and FreeBSD, don't duplicate them > (we can probably use same for others such as NetBSD, Irix, AIX, > and almost the same for Solaris) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Nov 17 20:58:08 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:58:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195809.0395F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:58:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix for SOLgnu (and probably SOLsun, SPARC{32,64}_{SOLARIS,LINUX,FREEBSD,OPENBSD,etc.}) ThreadPThreadC.c From jkrell at elego.de Tue Nov 17 20:58:39 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:58:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195839.069412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:58:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix From jkrell at elego.de Tue Nov 17 20:59:54 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 20:59:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117195954.B5BC12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 20:59:54 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: better: remove ThreadPThread__SaveRegsInStack entirely for most platforms From jkrell at elego.de Tue Nov 17 21:05:01 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 17 Nov 2009 21:05:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117200501.7EDCE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/17 21:05:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThreadC.c Log message: wrap everything From hosking at elego.de Tue Nov 17 21:23:56 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Nov 2009 21:23:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091117202356.2F9582474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/17 21:23:56 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: SaveRegsInStack is a *static* asm (not embedded in the body of a C-level function). The C *declaration* is there only for C calls. Tidy up a few symbols as well. From jay.krell at cornell.edu Tue Nov 17 23:39:35 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Tue, 17 Nov 2009 14:39:35 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091117202356.2F9582474001@birch.elegosoft.com> References: <20091117202356.2F9582474001@birch.elegosoft.com> Message-ID: <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> Yeah sorry I later realized my version must be wrong, what with all the directives. I'm pretty sure I was up to date though and previous didn't work. - Jay (phone) On Nov 17, 2009, at 9:23 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/11/17 21:23:56 > > Modified files: > cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > SaveRegsInStack is a *static* asm (not embedded in the body of a > C-level > function). The C *declaration* is there only for C calls. > Tidy up a few symbols as well. > > From jkrell at elego.de Wed Nov 18 11:10:10 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Nov 2009 11:10:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091118101010.81B882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/18 11:10:10 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix From jay.krell at cornell.edu Wed Nov 18 23:18:39 2009 From: jay.krell at cornell.edu (Jay K) Date: Wed, 18 Nov 2009 22:18:39 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> References: <20091117202356.2F9582474001@birch.elegosoft.com>, <7012D8FE-9DD0-4897-8D20-2C27BCB0C60A@hotmail.com> Message-ID: It works (compile/link). I was probably out of date at the time, sorry. - Jay > From: jay.krell at cornell.edu > To: hosking at elego.de > Date: Tue, 17 Nov 2009 14:39:35 -0800 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Yeah sorry I later realized my version must be wrong, what with all > the directives. I'm pretty sure I was up to date though and previous > didn't work. > > - Jay (phone) > > On Nov 17, 2009, at 9:23 PM, hosking at elego.de (Antony Hosking) wrote: > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/11/17 21:23:56 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c > > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > > > Log message: > > SaveRegsInStack is a *static* asm (not embedded in the body of a > > C-level > > function). The C *declaration* is there only for C calls. > > Tidy up a few symbols as well. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 20 09:17:47 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:17:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120081747.735A12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:17:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.h Log message: remove unused declaration From jkrell at elego.de Fri Nov 20 09:27:54 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:27:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120082754.41B522474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:27:54 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: inactive attempt at http://www.usenix.org/event/usenix2000/general/full_papers/engelschall/engelschall.pdf which would be much more portable than what we currently have for OpenBSD (which lacks get/set/make/swapcontext, as well as decent pthread implementation, though I will retest pthreads shortly) doesn't seem to work I must have something simple wrong. It does seem dangerous to call sigaltstack with any signals other than SIGUSR1 enabled. From jkrell at elego.de Fri Nov 20 09:49:24 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 9:49:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120084926.221612474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 09:49:24 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix my mista;e ThreadPThread__SaveRegsInStack is referenced from Modula-3 so must remain here for all platforms From jkrell at elego.de Fri Nov 20 10:13:44 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:13:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120091344.3C5882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:13:44 Added files: cm3/m3-libs/m3core/src/: Tag: release_branch_cm3_5_8 platforms.quake cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadInternal.i3 Log message: new files from head From jkrell at elego.de Fri Nov 20 10:27:25 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:27:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120092725.ACE1D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:27:25 Modified files: cm3/m3-libs/m3core/src/win32/: Tag: release_branch_cm3_5_8 WinNT.i3 WinNTc.c m3makefile Log message: minor merge from head: m3_MemoryBarrier => WinNT__MemoryBarrier From jkrell at elego.de Fri Nov 20 10:39:57 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 10:39:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120093958.2E4F32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 10:39:57 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 Log message: ThreadF => ThreadInternal From jkrell at elego.de Fri Nov 20 11:19:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:19:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120101923.712C12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:19:23 Modified files: cm3/m3-libs/m3core/src/float/DS3100/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/float/IRIX5/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/float/VAX/: Tag: release_branch_cm3_5_8 FloatMode.m3 cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 RTSignal.m3 cm3/m3-libs/m3core/src/runtime/WIN32/: Tag: release_branch_cm3_5_8 RTOS.m3 cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTAllocator.m3 RTCollector.m3 RTHeapStats.m3 RTLinker.m3 cm3/m3-libs/m3core/src/runtime/ex_frame/: Tag: release_branch_cm3_5_8 RTExFrame.m3 RTException.m3 cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.i3 ThreadPosix.m3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 m3makefile cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.i3 ThreadWin32.m3 m3makefile Removed files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadUnsafe.i3 cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadF.i3 ThreadInternal.i3 Log message: merge from head: ThreadF/ThreadUnsafe => ThreadInternal (except for ThreadF.MyId, Id, State) From jkrell at elego.de Fri Nov 20 11:31:35 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:31:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120103135.E64AE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:31:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTLinker.m3 RTLinkerX.i3 Log message: fix: ThreadF => ThreadInternal From jkrell at elego.de Fri Nov 20 11:46:02 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:46:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120104603.BEE63CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:46:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UtimeC.c m3unix.h Log message: merge from head: timespec_t => timespec_T to avoid warning due to newer Sun headers having the same typedef From jkrell at elego.de Fri Nov 20 11:51:09 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:51:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120105109.C1D992474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:51:09 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix newlines From jkrell at elego.de Fri Nov 20 11:54:22 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 11:54:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120105422.695A1CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 11:54:22 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: partial merge from head: for now just the added lines From jkrell at elego.de Fri Nov 20 12:15:55 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:15:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120111555.A4DF3CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:15:55 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix From jkrell at elego.de Fri Nov 20 12:22:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:22:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112230.60ADE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:22:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 m3unix.h Log message: fix for more premature merging From jkrell at elego.de Fri Nov 20 12:25:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:25:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112530.74756CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:25:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UnixC.c Usocket.c UtimeC.c Log message: more careful merging from head assert => M3_STATIC_ASSERT new assertions about times and sockets, not yet taken advantage of (head takes advantage of them, to reduce Usysdep.i3) From jkrell at elego.de Fri Nov 20 12:28:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 12:28:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120112833.4BD262474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 12:28:33 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Tag: release_branch_cm3_5_8 UtimeC.c Log message: altzone fix from head (based on Python -- subtract an hour) From hosking at elego.de Fri Nov 20 16:13:31 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 20 Nov 2009 16:13:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120151332.096DC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/20 16:13:31 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Does OpenBSD not report a reliable stack pointer for stopped threads? If not, then we have no way except to scan from sp to sp+size. What does this mean for FreeBSD? Is it just as broken? Yuck. From jkrell at elego.de Fri Nov 20 20:28:03 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:28:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120192803.30AA4CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:28:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: change tabs to spaces, for consistent rendering in editors that default to 4 space tabs From jkrell at elego.de Fri Nov 20 20:32:55 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:32:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193255.B03DA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:32:55 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: favor char* over void* it is more amenable to comparison and arithmetic, esp. w/o relying on gcc-isms and adding casts From jkrell at elego.de Fri Nov 20 20:34:46 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:34:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193446.BF27C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:34:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:37:56 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:37:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120193757.0685ACC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:37:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:40:11 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:40:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120194011.B40A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:40:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: void* to char* From jkrell at elego.de Fri Nov 20 20:42:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 20:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120194251.57F9A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 20:42:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: twiddle between char* and void* more From hosking at cs.purdue.edu Fri Nov 20 20:37:07 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 20 Nov 2009 14:37:07 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091120192803.30AA4CC3BE@birch.elegosoft.com> References: <20091120192803.30AA4CC3BE@birch.elegosoft.com> Message-ID: i.e., broken editors. On 20 Nov 2009, at 20:28, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/20 20:28:03 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > change tabs to spaces, for consistent rendering in editors that > default to 4 space tabs -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 20 21:04:14 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:04:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120200414.E2D2C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:04:14 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add pthread_attr_destroy in the FreeBSD case see http://www.freebsd.org/cgi/man.cgi?query=pthread_attr_get_np&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html From jkrell at elego.de Fri Nov 20 21:28:00 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:28:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120202800.C563ACC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:28:00 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: eliminate more tabs From jkrell at elego.de Fri Nov 20 21:30:42 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 20 Nov 2009 21:30:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120203043.06A162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/20 21:30:42 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: remove non-working M3_THREADS_USE_SIGALTSTACK_AND_JMPBUF for now for now stuck with non-portable jmpbuf groveling on OpenBSD From jay.krell at cornell.edu Fri Nov 20 22:06:01 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Fri, 20 Nov 2009 13:06:01 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091120151332.096DC2474001@birch.elegosoft.com> References: <20091120151332.096DC2474001@birch.elegosoft.com> Message-ID: The FreeBSD and OpenBSD interfaces seem different enough such that worry does not transfer? "stack" vs. "stackseg"? Besides FreeBSD being more mainstream? Besides checking Java (OpenBSD) and Boehm? OpenBSD interface does not even seem to offer what we want? For some definition of "top" of stack? Ie "the highest address"?? Seems odd. - Jay (phone) On Nov 20, 2009, at 4:13 PM, hosking at elego.de (Antony Hosking) wrote: > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/11/20 16:13:31 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > Does OpenBSD not report a reliable stack pointer for stopped > threads? If not, > then we have no way except to scan from sp to sp+size. > > What does this mean for FreeBSD? Is it just as broken? Yuck. > > From hosking at elego.de Fri Nov 20 22:19:01 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 20 Nov 2009 22:19:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120211901.61ECACC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/20 22:19:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Let's try this for OpenBSD stackseg brokenness. From rcoleburn at elego.de Sat Nov 21 00:01:04 2009 From: rcoleburn at elego.de (Randy Coleburn) Date: Sat, 21 Nov 2009 0:01:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120230105.982F2CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rcoleburn at birch. 09/11/21 00:01:03 Added files: cm3/m3-sys/m3tests/src/p2/p213/: Main.m3 m3makefile stderr.build stderr.pgm stdout.build stdout.pgm Log message: Add new test folder, p213, and files for "Mutex Checker" test program.--Randy Coleburn From rcoleburn at elego.de Sat Nov 21 00:01:57 2009 From: rcoleburn at elego.de (Randy Coleburn) Date: Sat, 21 Nov 2009 0:01:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091120230158.15D3ECC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rcoleburn at birch. 09/11/21 00:01:57 Modified files: cm3/m3-sys/m3tests/src/: m3makefile Log message: Add p213 test case for new "Mutex Checker" test program.--Randy Coleburn From jkrell at elego.de Sat Nov 21 11:53:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:53:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105317.5B4772474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:53:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: MyFPState, MyHeapState, SetSwitchingInterval, DisableSwitching, EnableSwitching From jkrell at elego.de Sat Nov 21 11:57:05 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:57:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105705.EE60C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:57:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState, MyHeapState, SetSwitchingInterval, DisableSwitching, EnableSwitching From jkrell at elego.de Sat Nov 21 11:59:04 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 11:59:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121105904.ABD892474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 11:59:04 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState From jkrell at elego.de Sat Nov 21 20:06:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:06:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121190659.912EBCC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:06:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: merge from head: make the static mutexes and condition variables variables instead of pairs of functions From jkrell at elego.de Sat Nov 21 20:09:01 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:09:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121190901.E3DBCCC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:09:01 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: merge from head: make the static mutexes and condition variables variables instead of functions From jkrell at elego.de Sat Nov 21 20:16:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:16:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121191634.D54B2CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:16:34 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: merge from head: no more use of Upthread (define things locally) From jkrell at elego.de Sat Nov 21 20:18:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:18:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121191829.99269CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:18:29 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: just always use 'THREAD_LOCAL_SLOW' From jkrell at elego.de Sat Nov 21 20:20:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:20:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192017.BF65C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:20:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: slotMu vs. slotsMu From jkrell at elego.de Sat Nov 21 20:21:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:21:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192148.C09472474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:21:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: just always use 'THREAD_LOCAL_SLOW' From jkrell at elego.de Sat Nov 21 20:22:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:22:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192229.4DD5D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:22:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: slotMu vs. slotsMu (comment only) From jkrell at elego.de Sat Nov 21 20:23:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:23:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192354.EE4512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:23:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: merge from head: remove extra #define ZeroMemory From jkrell at elego.de Sat Nov 21 20:25:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:25:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192544.C97512474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:25:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 Log message: merge from head: wrap pthread_mutex_lock and pthread_mutex_unlock in C From jkrell at elego.de Sat Nov 21 20:28:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:28:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121192843.5DEA12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:28:42 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: merge from head: use local wrappers instead of Upthread From jkrell at elego.de Sat Nov 21 20:33:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:33:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193351.D99002474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:33:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: COPY wholesale from head including use pthread_suspend/resume_np on FreeBSD instead of signal/semaphore (and pthread_attr_getstack) similar attempts on OpenBSD, but it doesn't work movement of C and assembly code (esp. for Apple and Solaris) From jkrell at elego.de Sat Nov 21 20:35:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:35:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193528.761BECC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:35:27 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: #error for OpenBSD, it doesn't work and anyone working on it can remove the #error From jkrell at elego.de Sat Nov 21 20:37:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:37:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193711.8AE0F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:37:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: just dump all the OpenBSD code From jkrell at elego.de Sat Nov 21 20:38:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:38:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121193834.CD886CC3BE@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:38:32 Modified files: cm3/m3-libs/m3core/src/: Tag: release_branch_cm3_5_8 thread.quake Log message: switch OpenBSD/x86 to user threads (which need to be merged/copied as well) From jkrell at elego.de Sat Nov 21 20:41:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:41:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121194103.A24702474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:41:03 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: Tag: release_branch_cm3_5_8 ThreadPosix.h ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: COPY wholesale from head From jkrell at elego.de Sat Nov 21 20:57:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 20:57:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121195721.46414CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 20:57:21 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NT386GNU/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachine.i3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTMachine.i3 m3makefile Log message: COPY from head removal of various user threading support most of this had to do with poking jmp_buf just right, but we now use get/set/make/swapcontext instead which abstracts that, except for OpenBSD (and possibly old Darwin) where we do the work in #ifdef'ed C also manually compute numbers instead of using Word.Shift deletes to follow From jkrell at elego.de Sat Nov 21 21:06:16 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:06:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121200616.882762474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:06:16 Modified files: cm3/m3-libs/m3core/src/thread/Common/: Tag: release_branch_cm3_5_8 ThreadF.i3 cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: remove SetSwitchingInterval From jkrell at elego.de Sat Nov 21 21:24:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:24:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202402.A97282474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:24:02 Removed files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTMachineASM.s RTThreadC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachineASM.s RTThreadC.c cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTThreadC.c cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTThreadC.c Log message: copy from head: delete all the RTThreadC.c files delete SOLgnu/RTMachineASM.s (moved into RTStackC.c) delete SOLsun/RTMachineASM.s (moved into RTStackC.c) From jkrell at elego.de Sat Nov 21 21:28:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:28:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202841.BEF0B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:28:41 Removed files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 RTThread.m3 cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 RTThread.m3 Log message: copy from head: delete all RTThread.m3 files From jkrell at elego.de Sat Nov 21 21:29:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:29:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202928.B92462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:29:28 Removed files: cm3/m3-libs/m3core/src/runtime/HPPA/: RTThread.m3.sav Log message: delete another RTThread.m3 From jkrell at elego.de Sat Nov 21 21:29:57 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:29:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121202957.F194D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:29:57 Removed files: cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 RTThread.m3.sav Log message: delete another RTThread.m3 From jkrell at elego.de Sat Nov 21 21:45:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:45:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204533.D0B802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:45:32 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/novm/: m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: m3makefile cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: m3makefile cm3/m3-libs/m3core/src/runtime/SPARC/: m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: m3makefile Log message: make RTMachine private on all platforms notice it already was on SOLgnu/SOLsun From jkrell at elego.de Sat Nov 21 21:47:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:47:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204723.B38FE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:47:23 Modified files: cm3/m3-libs/m3core/src/runtime/AIX386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ALPHA_OSF/novm/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/AP3000/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ARM/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/ARM_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/DS3100/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD3/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/FreeBSD4/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/HP300/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/HPPA/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IBMR2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IBMRT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/IRIX5/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXELF/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/LINUXLIBC6/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NEXT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NT386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NT386GNU/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/NetBSD2_i386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/OKI/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/OS2/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SEQUENT/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SPARC/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SUN3/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SUN386/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/UMAX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/VAX/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 m3makefile Log message: make RTMachine private on all platforms it already was on SOLsun/SOLgnu From jkrell at elego.de Sat Nov 21 21:48:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:48:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121204858.6B52C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:48:58 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 m3makefile Log message: remove RTThread and RTThreadStk From jkrell at elego.de Sat Nov 21 21:50:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:50:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121205048.10D882474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:50:48 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 RTMachine.i3 Log message: COPY from head From jkrell at elego.de Sat Nov 21 21:52:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 21 Nov 2009 21:52:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121205212.4BDE32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/21 21:52:12 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 m3makefile Log message: COPY from head, I thought I got this earlier From jkrell at elego.de Sun Nov 22 00:54:52 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 0:54:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091121235452.E67022474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 00:54:52 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTStackC.c Log message: copy from head; will change more later, once things back to working From jkrell at elego.de Sun Nov 22 01:08:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 1:08:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122000833.70B56CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 01:08:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: fix parameter order to pthread_cond_wait -- cond then mu, not mu then cond, Solaris nicely fails an assert on this exact line From jkrell at elego.de Sun Nov 22 01:10:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 1:10:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122001053.8E57A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 01:10:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: copy from release: fix parameter order to pthread_cond_wait -- cond then mu, not mu then cond, Solaris nicely fails an assert on this exact line From jkrell at elego.de Sun Nov 22 02:39:09 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 2:39:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122013910.213A52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 02:39:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: This should fix SOLsun. Sun cc doesn't support asm outside of functions. Rather than fight assembly details, use setjmp/longjmp. From jkrell at elego.de Sun Nov 22 03:07:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:07:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122020715.B6899CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:07:15 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: assembly outside a function doesn't work with Sun cc, use setjmp/longjmp instead From jkrell at elego.de Sun Nov 22 03:07:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:07:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122020756.2AC8A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:07:56 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: comments From jkrell at elego.de Sun Nov 22 03:15:12 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:15:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122021512.B3EF1CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:15:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix confusing code -- missing brace From jkrell at elego.de Sun Nov 22 03:21:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:21:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122022119.C9E152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:21:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: split into two implementations to avoid confusing #if in the middle of code From jkrell at elego.de Sun Nov 22 03:22:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:22:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122022222.E1C142474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:22:22 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: restore optimzation based on existing setjmp From jkrell at elego.de Sun Nov 22 03:35:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 3:35:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122023520.4CDE62474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 03:35:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: restructure slightly to share code, and avoid double scan of registers on sparc (seems applicable on all architectures, really) From hosking at cs.purdue.edu Sun Nov 22 04:16:22 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 21 Nov 2009 22:16:22 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122013910.213A52474001@birch.elegosoft.com> References: <20091122013910.213A52474001@birch.elegosoft.com> Message-ID: <6E22B7A1-48DE-4FFF-B35B-FE8286919F4C@cs.purdue.edu> Are you sure this does the right thing? The address of the jmpbuf may not be a sufficiently placed stack pointer. On 22 Nov 2009, at 02:39, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/22 02:39:09 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c > > Log message: > This should fix SOLsun. > Sun cc doesn't support asm outside of functions. > Rather than fight assembly details, use setjmp/longjmp. From hosking at cs.purdue.edu Sun Nov 22 04:16:58 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sat, 21 Nov 2009 22:16:58 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122020715.B6899CC3C0@birch.elegosoft.com> References: <20091122020715.B6899CC3C0@birch.elegosoft.com> Message-ID: Huh? I think it does work. On 22 Nov 2009, at 03:07, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/11/22 03:07:15 > > Modified files: > cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c > > Log message: > assembly outside a function doesn't work with Sun cc, use setjmp/longjmp instead -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 22 04:58:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 4:58:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122035850.1CAB82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 04:58:48 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: ignore the SOLsun issue for now From jkrell at elego.de Sun Nov 22 05:00:50 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:00:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040050.8E9902474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:00:50 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: copy from head: affect is to remove OpenBSD support and twiddle the sparc stuff inconsequentially (comments and reordering that doesn't matter); still ignoring SOLsun, until everything else works From jkrell at elego.de Sun Nov 22 05:04:34 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:04:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040435.5122D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:04:34 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: mainly: #if defined(__ppc__) || defined(__ppc64__) #include #endif and small tweaks From jkrell at elego.de Sun Nov 22 05:05:36 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:05:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122040537.245B82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:05:36 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: copy from head, for #include From jkrell at elego.de Sun Nov 22 05:11:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:11:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122041149.369732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:11:48 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: add MyFPState From jkrell at elego.de Sun Nov 22 05:12:53 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 5:12:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122041253.B440ACC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 05:12:53 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: add ProcessEachStack (that just asserts false) From jkrell at elego.de Sun Nov 22 06:06:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 6:06:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122050648.E478E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 06:06:47 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadWin32.m3 Log message: import FloatMode From jkrell at elego.de Sun Nov 22 08:20:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 8:20:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122072024.B9C462474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 08:20:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadContext.i3 Log message: flatten namespace by using FROM Foo IMPORT Bar instead of just IMPORT Foo and then use Foo.Bar From jkrell at elego.de Sun Nov 22 10:19:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:19:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122091918.333BE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:19:17 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Win32 ProcessStacks had a hack where if the stack pointer was more than 10K below the stack top, it would use VirtualQuery to ensure the pages are readable. The comment was that this was to workaround Windows 95 sometimes returning incorrect stack pointers. While I'm not testing Windows 95 here, and I should, modify the code like so: At thread creation (and special case first thread), compute the stack bounds accurately. (again, only tested on NT) Move GetThreadContext from ProcessStacks to SuspendOthers. When we GetThreadContext, if the stack is not in bounds, treat it like a "busy" thread and resume it and try again later. NOTE that GetThreadContext is documented as not working on the current thread, but the previous code did exactly that. Perhaps that was the problem? The current thread's stack pointer is trivial to compute of course, no need for GetThreadContext. Testing is advised on Win9x, though I personally haven't run that in years and hardly ever did. In the previous code, see of course ProcessStacks, and VerifySP. This likely had the affect as well of, when the stack went beyond 10K, to round the stack pointer down to the next page, scanning a little extra garbage (which if you consider that "most objects die young", probably had a good chance of causing retention of otherwise garbage? But I have no data.) (Nice side effect here, of course, is decreased dependency on cloned headers, since I always strive to use C to interact with the underlying system that is described with C headers.) Unfortunate side affect here is increased memory use because the CONTEXT is now in Activation, in order to get from SuspendOthers to ProcessStacks. We might do better to allocate an array of CONTEXT in SuspendOthers. We might do better also to use a "mini context" since we only use a small fraction of the context (just the control and integer registers, not the rather larger floating point state nor the segment registers, debug registers, status flags, etc. since they can't contain pointers.. or can they? well, not with our backend..hm) Furthermore, of course, we should abstract this code to not be so x86 specific. With this change, the stack bounds are very well known, and the "end" value is "just past the end", the first byte of the first page after the stack. It might be wise to subtract one from this. Previously we used an approximate end of stack that pointed to an actual untraced value on the stack. NoteStackLocations does subtract ADRSIZE(ADDRESS) though. Note that ThreadPosix.m3 could also implement such precise stackbase. ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. From jay.krell at cornell.edu Sun Nov 22 10:21:35 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 09:21:35 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122091918.333BE2474001@birch.elegosoft.com> References: <20091122091918.333BE2474001@birch.elegosoft.com> Message-ID: cvsweb is a pain imho, so diff attached > Date: Sun, 22 Nov 2009 10:19:17 +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/11/22 10:19:17 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 > ThreadWin32.m3 > ThreadWin32C.c > > Log message: > Win32 ProcessStacks had a hack where if the stack pointer was > more than 10K below the stack top, it would use VirtualQuery > to ensure the pages are readable. > > The comment was that this was to workaround Windows 95 sometimes > returning incorrect stack pointers. > > While I'm not testing Windows 95 here, and I should, modify the code > like so: > > At thread creation (and special case first thread), compute > the stack bounds accurately. (again, only tested on NT) > > Move GetThreadContext from ProcessStacks to SuspendOthers. > > When we GetThreadContext, if the stack is not in bounds, > treat it like a "busy" thread and resume it and try again later. > > NOTE that GetThreadContext is documented as not working > on the current thread, but the previous code did > exactly that. Perhaps that was the problem? > > The current thread's stack pointer is trivial to compute of course, > no need for GetThreadContext. > > Testing is advised on Win9x, though I personally > haven't run that in years and hardly ever did. > > In the previous code, see of course ProcessStacks, and VerifySP. > This likely had the affect as well of, when the stack went > beyond 10K, to round the stack pointer down to the next page, > scanning a little extra garbage (which if you consider > that "most objects die young", probably had a good chance > of causing retention of otherwise garbage? But I have no data.) > > (Nice side effect here, of course, is decreased dependency on cloned headers, > since I always strive to use C to interact with the underlying system > that is described with C headers.) > > Unfortunate side affect here is increased memory use because > the CONTEXT is now in Activation, in order to get from > SuspendOthers to ProcessStacks. > > We might do better to allocate an array of CONTEXT in SuspendOthers. > > We might do better also to use a "mini context" since we only use > a small fraction of the context (just the control and integer registers, > not the rather larger floating point state nor the segment registers, > debug registers, status flags, etc. since they can't contain pointers.. > or can they? well, not with our backend..hm) > > Furthermore, of course, we should abstract this code to not be so x86 specific. > > With this change, the stack bounds are very well known, and the "end" > value is "just past the end", the first byte of the first page after the stack. > It might be wise to subtract one from this. > > Previously we used an approximate end of stack that pointed to an actual untraced > value on the stack. > > NoteStackLocations does subtract ADRSIZE(ADDRESS) though. > > Note that ThreadPosix.m3 could also implement such precise stackbase. > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 2.txt URL: From jkrell at elego.de Sun Nov 22 10:43:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:43:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122094324.4F06A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:43:24 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: move just a few comments around slightly to be on same line as what they are describing (this area about to change more, to more resemble pthread implementation) From jkrell at elego.de Sun Nov 22 10:46:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:46:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122094617.C01EC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:46:17 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: a little more reformating of comments for readability From jkrell at elego.de Sun Nov 22 10:55:30 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 10:55:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122095530.C097F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 10:55:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: adjust LL comments to describe what I believe is acceptable reality: handle, stackStart, stackEnd not locked, on neither read nor write (it is common to make a mistake where only writes are locked) From jkrell at elego.de Sun Nov 22 11:24:44 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 11:24:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122102445.147052474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 11:24:44 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: adjust LL comments to describe what I believe is acceptable reality: closure and result are not locked; completed is only ever written and never read so remove it (larger effort here is to unify a lot with pthread, esp. what is in T vs. Activation) From jkrell at elego.de Sun Nov 22 12:11:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:11:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122111127.DFD552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:11:27 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: Like pthreads, switch from functions to variables for the static locks. (pthreads also has a static cond, we don't) Instead of using either Win32 "critical section" or pthread "mutex" vocabulary, use Lock(Lock_t), Unlock(Lock_t), slotLock, heapLock, etc. Also add NewLock and DeleteLock, not yet used. From jkrell at elego.de Sun Nov 22 12:12:28 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:12:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122111229.147312474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:12:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add const on the static locks/conditions From jkrell at elego.de Sun Nov 22 12:38:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:38:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122113845.047802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:38:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 ThreadWin32.m3 ThreadWin32C.c Log message: SetActivation == TlsSetValue_threadIndex GetActivation == TlsGetValue_threadIndex (pthreads doesn't do this but probably should) From jkrell at elego.de Sun Nov 22 12:39:38 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:39:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122113938.D92DA2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:39:38 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: remove incorrect comment (Set is not called frequently, only Get is) From jkrell at elego.de Sun Nov 22 12:43:42 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 12:43:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122114342.E41BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 12:43:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 Log message: don't capitalize or period comments that aren't sentences esp. one that I just changed From jay.krell at cornell.edu Sun Nov 22 12:41:19 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 11:41:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122113845.047802474001@birch.elegosoft.com> References: <20091122113845.047802474001@birch.elegosoft.com> Message-ID: diff attached (cvsweb stinks..) > Date: Sun, 22 Nov 2009 12:38: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/11/22 12:38:43 > > Modified files: > cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.i3 > ThreadWin32.m3 > ThreadWin32C.c > > Log message: > SetActivation == TlsSetValue_threadIndex > GetActivation == TlsGetValue_threadIndex > (pthreads doesn't do this but probably should) > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 1.txt URL: From hosking at cs.purdue.edu Sun Nov 22 19:41:26 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 13:41:26 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091122091918.333BE2474001@birch.elegosoft.com> References: <20091122091918.333BE2474001@birch.elegosoft.com> Message-ID: <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> > Note that ThreadPosix.m3 could also implement such precise stackbase. ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. From jay.krell at cornell.edu Sun Nov 22 22:53:44 2009 From: jay.krell at cornell.edu (Jay K) Date: Sun, 22 Nov 2009 21:53:44 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> Message-ID: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Nov 22 23:16:22 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:16:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122221622.999732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:16:22 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: #if defined(__APPLE__) && defined(__i386__) && !defined(_XOPEN_SOURCE) /* http://tinderbox.elegosoft.com/tinderbox/cgi-bin/gunzip.cgi?tree=cm3&brief-log=1258879870.10595#err9 */ /* /usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined */ /* expand #if to allow more architecures as they are discovered/tested, probably just allow all */ #define _XOPEN_SOURCE #endif From jkrell at elego.de Sun Nov 22 23:30:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:30:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122223058.C45402474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:30:58 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: signal.h suffices on all Darwin architectures, at least with the ppc/ppc64/x86/amd64 cross compilers on my current system From jkrell at elego.de Sun Nov 22 23:33:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 22 Nov 2009 23:33:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122223311.B0D792474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/22 23:33:11 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: copy from head to address #error on some Apple environments (don't #include ucontext.h, signal.h suffices) From jkrell at elego.de Mon Nov 23 00:29:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:29:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122232903.D90902474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:29:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix pthread_mutex_unlock wrapper, duh! From jkrell at elego.de Mon Nov 23 00:33:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:33:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122233325.8883D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:33:25 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: copy from head: add const and return the pthread_unlock_mutex return value (!) (fixes Solaris but is a general bug) From hosking at cs.purdue.edu Mon Nov 23 00:52:31 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 18:52:31 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> Message-ID: <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 23 00:53:06 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:53:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235307.9A6552474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:53:06 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: make it work with more compiler/header versions consider moving initialization and cleanup into DllMain in particular, this lets us propagate failures, which are possible but the problem is that executables don't have DllMain (tls callbacks?) From jkrell at elego.de Mon Nov 23 00:53:42 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:53:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235343.0A9152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:53:42 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: better compiler compat? From jkrell at elego.de Mon Nov 23 00:54:03 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 0:54:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091122235404.E8DE42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 00:54:03 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: better compiler compat? From jkrell at elego.de Mon Nov 23 01:01:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:01:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123000148.A600D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:01:48 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: slight hypothetical unify with pthread -- just rename CRITSEC to LOCK and copy two comments From jay.krell at cornell.edu Mon Nov 23 01:19:36 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 23 Nov 2009 00:19:36 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: You think I should just leave Win32 using the same method? No point scanning past that? I think, as I was saying the other day, there is a slight danger in the current code. Imagine an aggressive optimizer inlines RunThread into ThreadBase. I think when I manually inlined it I caused just such breakage. We need <*NOINLINE*>? - Jay Subject: Re: [M3commit] CVS Update: cm3 From: hosking at cs.purdue.edu Date: Sun, 22 Nov 2009 18:52:31 -0500 CC: jkrell at elego.de; m3commit at elegosoft.com To: jay.krell at cornell.edu It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 01:29:52 2009 From: jay.krell at cornell.edu (Jay K) Date: Mon, 23 Nov 2009 00:29:52 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: Maybe: RunThread: if stack_grows_down stackbase = ADR(self) else stackbase = ADR(self) + BYTESIZE(self) Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds described the above? - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Mon, 23 Nov 2009 00:19:36 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 You think I should just leave Win32 using the same method? No point scanning past that? I think, as I was saying the other day, there is a slight danger in the current code. Imagine an aggressive optimizer inlines RunThread into ThreadBase. I think when I manually inlined it I caused just such breakage. We need <*NOINLINE*>? - Jay Subject: Re: [M3commit] CVS Update: cm3 From: hosking at cs.purdue.edu Date: Sun, 22 Nov 2009 18:52:31 -0500 CC: jkrell at elego.de; m3commit at elegosoft.com To: jay.krell at cornell.edu It is precise re traced refs. That's the lowest frame that can hold a traced reference. On 22 Nov 2009, at 16:53, Jay K wrote: The end of the stack isn't precise: C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); "stack" here: void ProcessContext(Context *c, void *stack, void (*p) (void *start, void *stop)) { if (stack < c->uc.uc_stack.ss_sp) p(stack, c->uc.uc_stack.ss_sp); else p(c->uc.uc_stack.ss_sp, stack); #ifdef __APPLE__ p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); #else p(&c[0], &c[1]); #endif } - Jay > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 13:41:26 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Nov 23 01:45:12 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:45:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123004512.9FE732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:45:12 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: go back to asserting success for now, since the Modula-3 code doesn't and we can fail here under very low resources From jkrell at elego.de Mon Nov 23 01:46:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Nov 2009 1:46:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123004627.415A72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/23 01:46:26 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32C.c Log message: cleanup From hosking at cs.purdue.edu Mon Nov 23 02:03:46 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 20:03:46 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: On 22 Nov 2009, at 19:19, Jay K wrote: > You think I should just leave Win32 using the same method? > No point scanning past that? Right. > I think, as I was saying the other day, there is a slight danger in the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. Yeah, could be a problem. > We need <*NOINLINE*>? Perhaps, though there are ways to avoid inlining, like passing assigning the procedure (address) to a global. > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Mon Nov 23 02:04:38 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Sun, 22 Nov 2009 20:04:38 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> On 22 Nov 2009, at 19:29, Jay K wrote: > Maybe: > > RunThread: > if stack_grows_down > stackbase = ADR(self) > else > stackbase = ADR(self) + BYTESIZE(self) > > Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? We don't know that... In fact, we assume that the backend will have traced pointers in regs. > Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds > described the above? > > - Jay > > From: jay.krell at cornell.edu > To: hosking at cs.purdue.edu > Date: Mon, 23 Nov 2009 00:19:36 +0000 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You think I should just leave Win32 using the same method? > No point scanning past that? > > I think, as I was saying the other day, there is a slight danger in the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. > > We need <*NOINLINE*>? > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 03:12:48 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Sun, 22 Nov 2009 18:12:48 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, Message-ID: <4C0C6034-DDA0-44B8-8381-FB3BEE4DAADA@hotmail.com> These concerns make we feel more comfortable with the approach of finding the entire stack bounds (er, the accurate top; bottom is dynamic). There isn't a portable way to do this but there are various pthread_np. - Jay (phone) On Nov 22, 2009, at 4:29 PM, Jay K wrote: > Maybe: > > RunThread: > if stack_grows_down > stackbase = ADR(self) > else > stackbase = ADR(self) + BYTESIZE(self) > > Do we know the backend won't introduce local temporaries on the > stack that contain traced pointers? > Or, like, if there are traced temporaries in registers..they could > be spilled to the stack..and not within the bounds > described the above? > > - Jay > > From: jay.krell at cornell.edu > To: hosking at cs.purdue.edu > Date: Mon, 23 Nov 2009 00:19:36 +0000 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You think I should just leave Win32 using the same method? > No point scanning past that? > > I think, as I was saying the other day, there is a slight danger in > the current code. > Imagine an aggressive optimizer inlines RunThread into ThreadBase. > I think when I manually inlined it I caused just such breakage. > > We need <*NOINLINE*>? > > - Jay > > Subject: Re: [M3commit] CVS Update: cm3 > From: hosking at cs.purdue.edu > Date: Sun, 22 Nov 2009 18:52:31 -0500 > CC: jkrell at elego.de; m3commit at elegosoft.com > To: jay.krell at cornell.edu > > It is precise re traced refs. That's the lowest frame that can hold > a traced reference. > > On 22 Nov 2009, at 16:53, Jay K wrote: > > The end of the stack isn't precise: > > C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX > \ThreadPosix.m3(1058): self.stackbase := ADR(xx); > > "stack" here: > > void > ProcessContext(Context *c, void *stack, > void (*p) (void *start, void *stop)) > { > if (stack < c->uc.uc_stack.ss_sp) > p(stack, c->uc.uc_stack.ss_sp); > else > p(c->uc.uc_stack.ss_sp, stack); > #ifdef __APPLE__ > p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); > #else > p(&c[0], &c[1]); > #endif > } > > - Jay > > > > From: hosking at cs.purdue.edu > > Date: Sun, 22 Nov 2009 13:41:26 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > > Note that ThreadPosix.m3 could also implement such precise > stackbase. > > > > ThreadPosix *does* implement a precise stack base. It's obtained > from the ucontext set in the thread switch routine (swapcontext). > > > > > ThreadPThread.m3 probably often could, like with the functions > on OpenBSD (broken) and FreeBSD, etc. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 11:58:39 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Mon, 23 Nov 2009 02:58:39 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> Message-ID: Traced in regs is ok. The question is if they can spill to beyond the part of the stack we scan. Again, imagine if RunThread gets inlined into ThreadBase. That is possible and could easily break us, right? - Jay (phone) On Nov 22, 2009, at 5:04 PM, Tony Hosking wrote: > On 22 Nov 2009, at 19:29, Jay K wrote: > >> Maybe: >> >> RunThread: >> if stack_grows_down >> stackbase = ADR(self) >> else >> stackbase = ADR(self) + BYTESIZE(self) >> >> Do we know the backend won't introduce local temporaries on the >> stack that contain traced pointers? > > We don't know that... > In fact, we assume that the backend will have traced pointers in regs. > >> Or, like, if there are traced temporaries in registers..they could >> be spilled to the stack..and not within the bounds >> described the above? >> >> - Jay >> >> From: jay.krell at cornell.edu >> To: hosking at cs.purdue.edu >> Date: Mon, 23 Nov 2009 00:19:36 +0000 >> CC: m3commit at elegosoft.com >> Subject: Re: [M3commit] CVS Update: cm3 >> >> You think I should just leave Win32 using the same method? >> No point scanning past that? >> >> I think, as I was saying the other day, there is a slight danger in >> the current code. >> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >> I think when I manually inlined it I caused just such breakage. >> >> We need <*NOINLINE*>? >> >> - Jay >> >> Subject: Re: [M3commit] CVS Update: cm3 >> From: hosking at cs.purdue.edu >> Date: Sun, 22 Nov 2009 18:52:31 -0500 >> CC: jkrell at elego.de; m3commit at elegosoft.com >> To: jay.krell at cornell.edu >> >> It is precise re traced refs. That's the lowest frame that can >> hold a traced reference. >> >> On 22 Nov 2009, at 16:53, Jay K wrote: >> >> The end of the stack isn't precise: >> >> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX >> \ThreadPosix.m3(1058): self.stackbase := ADR(xx); >> >> "stack" here: >> >> void >> ProcessContext(Context *c, void *stack, >> void (*p) (void *start, void *stop)) >> { >> if (stack < c->uc.uc_stack.ss_sp) >> p(stack, c->uc.uc_stack.ss_sp); >> else >> p(c->uc.uc_stack.ss_sp, stack); >> #ifdef __APPLE__ >> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >> #else >> p(&c[0], &c[1]); >> #endif >> } >> >> - Jay >> >> >> > From: hosking at cs.purdue.edu >> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >> > To: jkrell at elego.de >> > CC: m3commit at elegosoft.com >> > Subject: Re: [M3commit] CVS Update: cm3 >> > >> > > Note that ThreadPosix.m3 could also implement such precise >> stackbase. >> > >> > ThreadPosix *does* implement a precise stack base. It's obtained >> from the ucontext set in the thread switch routine (swapcontext). >> > >> > > ThreadPThread.m3 probably often could, like with the functions >> on OpenBSD (broken) and FreeBSD, etc. >> > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Nov 23 12:09:17 2009 From: jay.krell at cornell.edu (jay.krell at cornell.edu) Date: Mon, 23 Nov 2009 03:09:17 -0800 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu> , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu> Message-ID: (somewhat out of order sorry) Assiging function to pointer variable will keep an uninlined copy, possibly (if the variable is ever read!) but would not force specific direct calls to not be inlined. Competing with optimizers is an "arms race". You can escalate e.g. by putting stuff in seperate files, but then there are systems with cross file optimization. We can avoid that by not using whatever compiler switches. Really, actually, I almost never test optimized. "arms race" You often win by instead "cooperating". Introduce "noinline" and communicate it down. Microsoft Visual C++ has such a feature and I generally believe its extensions are often not always well-informed and worth considering. Most code doesn't care, let the compiler do whatever it can think of, but sometimes some code is very special/careful. Again though an accurate stack bound may help much. I'll look into it. - Jay (phone) On Nov 22, 2009, at 5:03 PM, Tony Hosking wrote: > > On 22 Nov 2009, at 19:19, Jay K wrote: > >> You think I should just leave Win32 using the same method? >> No point scanning past that? > > Right. > >> I think, as I was saying the other day, there is a slight danger >> in the current code. >> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >> I think when I manually inlined it I caused just such breakage. > > Yeah, could be a problem. > >> We need <*NOINLINE*>? > > Perhaps, though there are ways to avoid inlining, like passing > assigning the procedure (address) to a global. > >> >> - Jay >> >> Subject: Re: [M3commit] CVS Update: cm3 >> From: hosking at cs.purdue.edu >> Date: Sun, 22 Nov 2009 18:52:31 -0500 >> CC: jkrell at elego.de; m3commit at elegosoft.com >> To: jay.krell at cornell.edu >> >> It is precise re traced refs. That's the lowest frame that can >> hold a traced reference. >> >> On 22 Nov 2009, at 16:53, Jay K wrote: >> >> The end of the stack isn't precise: >> >> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX >> \ThreadPosix.m3(1058): self.stackbase := ADR(xx); >> >> "stack" here: >> >> void >> ProcessContext(Context *c, void *stack, >> void (*p) (void *start, void *stop)) >> { >> if (stack < c->uc.uc_stack.ss_sp) >> p(stack, c->uc.uc_stack.ss_sp); >> else >> p(c->uc.uc_stack.ss_sp, stack); >> #ifdef __APPLE__ >> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >> #else >> p(&c[0], &c[1]); >> #endif >> } >> >> - Jay >> >> >> > From: hosking at cs.purdue.edu >> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >> > To: jkrell at elego.de >> > CC: m3commit at elegosoft.com >> > Subject: Re: [M3commit] CVS Update: cm3 >> > >> > > Note that ThreadPosix.m3 could also implement such precise >> stackbase. >> > >> > ThreadPosix *does* implement a precise stack base. It's obtained >> from the ucontext set in the thread switch routine (swapcontext). >> > >> > > ThreadPThread.m3 probably often could, like with the functions >> on OpenBSD (broken) and FreeBSD, etc. >> > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Nov 23 20:10:28 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 23 Nov 2009 20:10:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091123191028.CAFA0CC3C0@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/23 20:10:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Log message: Use brands to enforce type separation between various opaque C-level pthread types. From hosking at cs.purdue.edu Mon Nov 23 21:19:09 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 23 Nov 2009 15:19:09 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091122091918.333BE2474001@birch.elegosoft.com>, , <1E0F3BF7-9646-4637-BAA8-D3CEB6D41F6B@cs.purdue.edu>, , , <5D9CD97F-6FFF-4EE9-B86C-9E0EFB5EFCED@cs.purdue.edu>, <49D8B33F-2365-4BE2-8E3D-458C06328371@cs.purdue.edu> Message-ID: <9C87294E-C98A-4892-BA8B-FEE028718199@cs.purdue.edu> I guess it is possible, though it would only be problematic for self in RunThread if it got allocated outside the range of xx (i.e., below xx in the stack) in ThreadBase. Unlikely... On 23 Nov 2009, at 05:58, jay.krell at cornell.edu wrote: > Traced in regs is ok. The question is if they can spill to beyond the part of the stack we scan. Again, imagine if RunThread gets inlined into ThreadBase. That is possible and could easily break us, right? > > - Jay (phone) > > On Nov 22, 2009, at 5:04 PM, Tony Hosking wrote: > >> On 22 Nov 2009, at 19:29, Jay K wrote: >> >>> Maybe: >>> >>> RunThread: >>> if stack_grows_down >>> stackbase = ADR(self) >>> else >>> stackbase = ADR(self) + BYTESIZE(self) >>> >>> Do we know the backend won't introduce local temporaries on the stack that contain traced pointers? >> >> We don't know that... >> In fact, we assume that the backend will have traced pointers in regs. >> >>> Or, like, if there are traced temporaries in registers..they could be spilled to the stack..and not within the bounds >>> described the above? >>> >>> - Jay >>> >>> From: jay.krell at cornell.edu >>> To: hosking at cs.purdue.edu >>> Date: Mon, 23 Nov 2009 00:19:36 +0000 >>> CC: m3commit at elegosoft.com >>> Subject: Re: [M3commit] CVS Update: cm3 >>> >>> You think I should just leave Win32 using the same method? >>> No point scanning past that? >>> >>> I think, as I was saying the other day, there is a slight danger in the current code. >>> Imagine an aggressive optimizer inlines RunThread into ThreadBase. >>> I think when I manually inlined it I caused just such breakage. >>> >>> We need <*NOINLINE*>? >>> >>> - Jay >>> >>> Subject: Re: [M3commit] CVS Update: cm3 >>> From: hosking at cs.purdue.edu >>> Date: Sun, 22 Nov 2009 18:52:31 -0500 >>> CC: jkrell at elego.de; m3commit at elegosoft.com >>> To: jay.krell at cornell.edu >>> >>> It is precise re traced refs. That's the lowest frame that can hold a traced reference. >>> >>> On 22 Nov 2009, at 16:53, Jay K wrote: >>> >>> The end of the stack isn't precise: >>> >>> C:\dev2\cm3.release_branch_cm3_5_8\m3-libs\m3core\src\thread\POSIX\ThreadPosix.m3(1058): self.stackbase := ADR(xx); >>> >>> "stack" here: >>> >>> void >>> ProcessContext(Context *c, void *stack, >>> void (*p) (void *start, void *stop)) >>> { >>> if (stack < c->uc.uc_stack.ss_sp) >>> p(stack, c->uc.uc_stack.ss_sp); >>> else >>> p(c->uc.uc_stack.ss_sp, stack); >>> #ifdef __APPLE__ >>> p(&(c->uc.uc_mcontext[0]), &(c->uc.uc_mcontext[1])); >>> #else >>> p(&c[0], &c[1]); >>> #endif >>> } >>> >>> - Jay >>> >>> >>> > From: hosking at cs.purdue.edu >>> > Date: Sun, 22 Nov 2009 13:41:26 -0500 >>> > To: jkrell at elego.de >>> > CC: m3commit at elegosoft.com >>> > Subject: Re: [M3commit] CVS Update: cm3 >>> > >>> > > Note that ThreadPosix.m3 could also implement such precise stackbase. >>> > >>> > ThreadPosix *does* implement a precise stack base. It's obtained from the ucontext set in the thread switch routine (swapcontext). >>> > >>> > > ThreadPThread.m3 probably often could, like with the functions on OpenBSD (broken) and FreeBSD, etc. >>> > >>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Tue Nov 24 10:24:43 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:24:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124092443.9F9352474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:24:43 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: address ucontext deprecation (presumably in Snow Leopard, the break is on a Darwin 10.0.0 machine, I have Darwin 9.8.0 Leopard) just with #define _XOPEN_SOURCE (Do we need to consider another way? Probably not.) From jkrell at elego.de Tue Nov 24 10:31:40 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:31:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124093140.C47D92474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:31:40 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: copy from head to address ucontext deprecation on Snow Leopard? (they give and they take away, these APIs were only added in 10.4 or 10.5, and then deprecated in 10.6; make up your minds..) From jkrell at elego.de Tue Nov 24 10:39:56 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:39:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124093957.7638BCC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:39:56 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: Tag: release_branch_cm3_5_8 RTSignalC.c Log message: per http://duriansoftware.com/joe/PSA:-avoiding-the-%22ucontext-routines-are-deprecated%22-error-on-Mac-OS-X-Snow-Leopard.html #include sys/ucontext.h on Darwin instead of ucontext.h We aren't actually after the deprecated ucontext functions, but the (apparently) non-deprecated ucontext data structures From jkrell at elego.de Tue Nov 24 10:41:06 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 10:41:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124094106.9963BCC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 10:41:06 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: copy from release branch: use sys/ucontext.h on Darwin instead of ucontext.h + #define _XOPEN_SOURCE From jkrell at elego.de Tue Nov 24 12:43:44 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 12:43:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124114344.D136C2474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 12:43:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: rename pthread_getspecific_activations to GetActivation (called many times) (matches Win32) rename pthread_setspecific_activations to SetActivation (called twice) (matches Win32) leave pthread_key_create_activations alone (called once) (Win32 does the initialization in InitC) (I thought I had already commited this) From jkrell at elego.de Tue Nov 24 12:45:03 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 12:45:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124114504.47AA9CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 12:45:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix warning about unterminated character constant in comment: don't => do not From jkrell at elego.de Tue Nov 24 13:29:26 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:29:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124122926.D8550CC3D4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:29:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: replace gnarly assembly with setjmp/longjmp prepare to callback just once instead of separately for registers and stack Please review. From jkrell at elego.de Tue Nov 24 13:35:14 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:35:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124123517.D49D62474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:35:14 Modified files: cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c Log message: replace gnarly assembly with setjmp/longjmp From jkrell at elego.de Tue Nov 24 13:38:46 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 24 Nov 2009 13:38:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091124123846.7E6B52474002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/24 13:38:46 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: remove unused locals (fix gcc -Wall) From jkrell at elego.de Wed Nov 25 13:20:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:20:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125122039.58BD72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:20:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: move frame to the start to try to get it to be offset 0, in case that is more efficient, since it is overwhelmingly the most often access field (for every function with try or lock, well, maybe lock related stuff competes in frequency) From jkrell at elego.de Wed Nov 25 13:26:44 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:26:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125122644.C0E3A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:26:44 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: reformat field comments to be on the same line as the field, the resulting lines may be a bit long but on a wide screen the result seems far more readable than either alternative (unless a lot more vertical space is used to separate fields) From jkrell at elego.de Wed Nov 25 13:31:58 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:31:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123158.128A72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:31:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: add some LL and LL-ish comments (LL-ish like "write-once in function Foo") This is just from a quick scan of the code and hopefully correct. Actual code not changed. + mutex: pthread_mutex_t := NIL; (* write-once in CreateT *) + cond: pthread_cond_t := NIL; (* write-once in CreateT; a place to park while waiting *) + alerted : BOOLEAN := FALSE; (* LL = mutex; the alert flag *) + waitingOn: pthread_mutex_t := NIL; (* LL = mutex; The CV's mutex *) + nextWaiter: Activation := NIL; (* LL = mutex; queue of threads waiting on the same CV *) From jkrell at elego.de Wed Nov 25 13:32:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:32:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123259.5AA412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:32:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: MyFPState should return floatState, not heapState, oops! From jkrell at elego.de Wed Nov 25 13:34:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Nov 2009 13:34:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125123420.500D52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/25 13:34:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: MyFPState should return floatState not heapState! From hosking at elego.de Wed Nov 25 19:23:32 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:23:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125182332.F0449CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:23:32 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Clean up a bunch of things. Move stack_grows_down into C. I'm still dubious about elimination of SaveRegsInStack for SPARC. Jay, you'll really need to confirm that all is OK. From hosking at elego.de Wed Nov 25 19:27:51 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:27:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125182751.9E7B12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:27:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Lift out common static variables stack_grows_down and activations. Eliminate unused XX. From hosking at elego.de Wed Nov 25 19:42:47 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 19:42:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125184247.547E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 19:42:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Eliminate tabs. From hosking at elego.de Wed Nov 25 20:01:04 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 25 Nov 2009 20:01:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091125190104.43EFFCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/25 20:01:04 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 m3makefile 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.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Removed files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.i3 Log message: Move ThreadInternal.i3 to RTThread.i3. From hosking at elego.de Thu Nov 26 01:25:47 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:25:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126002548.2B2FE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:25:47 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ProcessStacks routine takes a base address and a *limit*. So, stop before limit. From hosking at elego.de Thu Nov 26 01:26:00 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:26:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126002600.46F39CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:26:00 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: RTStackC.c Log message: Tweak comment. From hosking at elego.de Thu Nov 26 01:31:53 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 1:31:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126003153.D9C7E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 01:31:53 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Restore SPARC SaveRegsInStack implementation. longjmp is MT-Level unsafe. Not sure what this says about setjmp -- Boehm doesn't appear to process any context other than the stacks. From jay.krell at cornell.edu Thu Nov 26 03:03:46 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 02:03:46 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20091126003153.D9C7E2474001@birch.elegosoft.com> References: <20091126003153.D9C7E2474001@birch.elegosoft.com> Message-ID: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Nov 26 03:06:13 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 02:06:13 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, Message-ID: http://osdir.com/ml/os.solaris.sunhelp/2001-09/msg00263.html ? - Jay From: jay.krell at cornell.edu To: hosking at elego.de; m3commit at elegosoft.com Date: Thu, 26 Nov 2009 02:03:46 +0000 Subject: Re: [M3commit] CVS Update: cm3 > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Nov 26 03:42:41 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 3:42:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126024241.DB02ACC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 03:42:41 Added files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.i3 Log message: add RTThread.i3, copy of last? ThreadInternal.i3 but with interface name changed From jkrell at elego.de Thu Nov 26 03:44:16 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 3:44:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126024416.57CAF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 03:44:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix it to compile -- xx vs. callee, and eliminate casts by changing void* to int* From jkrell at elego.de Thu Nov 26 05:23:20 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:23:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126042320.D8BBE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:23:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: parameter names in procedure types are apparently part of the signature; fix it to compile From jkrell at elego.de Thu Nov 26 05:28:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:28:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126042817.9C2732474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:28:17 Modified files: cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c Csignal.i3 CstdioC.c Cstdlib.i3 Cstring.i3 m3makefile Added files: cm3/m3-libs/m3core/src/C/Common/: CsignalC.c CstdlibC.c CstringC.c Log message: be more aggressive about not cloning headers certainly the signatures here are/were correct, but there is still the danger of inlines or pragmas creating not the normal binary interface, and apparently a source interface is all we can really count on From jkrell at elego.de Thu Nov 26 05:45:33 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:45:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126044534.20A162474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:45:33 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 RTMisc.m3 m3makefile Added files: cm3/m3-libs/m3core/src/runtime/common/: RTMiscC.c Log message: be aggressive about not cloning headers actually, since we already wrapped what this is calling, this code is ok but then, remove an extra layer From jkrell at elego.de Thu Nov 26 05:46:39 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 5:46:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126044639.8FEB32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 05:46:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 Log message: rewrite comment -- Align is the same as Upper, but casting INTEGER <=> ADDRESS From jkrell at elego.de Thu Nov 26 06:04:01 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 6:04:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126050401.C30FECC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 06:04:01 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMisc.i3 RTMisc.m3 RTMiscC.c Log message: equate RTMisc.Upper and RTMisc.Align via <*EXTERNAL*> so an unoptimized RTMisc.Align will still jump right to RTMisc.Upper preserve RTMisc.Align for binary compatibility however From jkrell at elego.de Thu Nov 26 08:01:15 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 8:01:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126070118.3BA0C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 08:01:15 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: in NoteStackLocations, if stack is 0,0, just return having done nothing From jkrell at elego.de Thu Nov 26 09:46:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 9:46:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126084617.3BD222474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 09:46:17 Modified files: cm3/scripts/: sysinfo.sh Log message: remove echo that breaks building cm3 From jkrell at elego.de Thu Nov 26 10:11:28 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:11:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091128.6D0412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:11:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: combine the two implementations of InitC From jkrell at elego.de Thu Nov 26 10:13:17 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:13:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091317.71A8A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:13:17 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: try not to waste time on signal mask, though this area is frought with #ifdef'ed headers, but it is ok if we get it wrong From jkrell at elego.de Thu Nov 26 10:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126091846.7DFA92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:18:46 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: get errno before getting the activation, since the point is to preserve errno From jkrell at elego.de Thu Nov 26 10:23:12 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:23:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126092312.EA38A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:23:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: try again setjmp/longjmp on sparc instead of the gnarly assembly different this time call setjmp on all targets in both SignalHandler and ProcessLive call longjmp immediately then for sparc and ia64 make another function call to ensure taking the address of a local includes jmp_buf (without having to worry about stack direction) introduce SignalHandlerC (C code called from Modula-3 SignalHandler) SignalHandlerX (called from SignalHandlerC to be sure capture all the stack) ProcessLiveX (called from ProcessLive to be sure capture all the stack) From jkrell at elego.de Thu Nov 26 10:34:47 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:34:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093447.19BC92474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:34:47 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTStackC.c cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTMachine.i3 RTStackC.c Log message: copy from head: replace assembly with setjmp/longjmp remove locals that are initialized but not further used remove userthread support in RTMachine.i3, we use make/get/set/swapcontext now From jkrell at elego.de Thu Nov 26 10:37:18 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:37:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093718.971842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:37:18 Removed files: cm3/m3-libs/m3core/src/runtime/SOLsun/: Tag: release_branch_cm3_5_8 RTSignal.m3 cm3/m3-libs/m3core/src/runtime/SOLgnu/: Tag: release_branch_cm3_5_8 RTSignal.m3 Log message: remove unused files From jkrell at elego.de Thu Nov 26 10:38:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:38:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126093830.CADE1CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:38:30 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: Tag: release_branch_cm3_5_8 ThreadContext.i3 Log message: copy from head: shorter by using 'IMPORT FROM' From jkrell at elego.de Thu Nov 26 10:41:57 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:41:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126094158.6BB802474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:41:57 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Tag: release_branch_cm3_5_8 RTCollector.m3 Log message: ignore stack=0,0 in NoteStackLocations, in prep for ThreadPThreadC.c copy From jkrell at elego.de Thu Nov 26 10:43:25 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 10:43:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126094325.3BD7A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 10:43:25 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: copy from head, several changes, we'll see if this clears up SOLgnu and SOLsun From jkrell at elego.de Thu Nov 26 14:56:28 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 14:56:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126135628.B95B8CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 14:56:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.m3 Log message: RTThread to ThreadInternal (unless we merge more from head) From jkrell at elego.de Thu Nov 26 16:55:05 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Nov 2009 16:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126155505.663442474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/26 16:55:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: noinline for Visual C++ >= 7.0 (optionally the compiler for Interix) noinline for Sun CC >= 5.9 still could be better e.g. Intel compiler From hosking at cs.purdue.edu Thu Nov 26 18:06:28 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 26 Nov 2009 12:06:28 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com> Message-ID: Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > > longjmp is MT-Level unsafe. > > Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? > > /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt > vi 1.txt > > 000314fc <_setjmp>: > 314fc: c0 22 20 00 clr [ %o0 ] > 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] > 31504: 92 03 e0 08 add %o7, 8, %o1 > 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] > 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] > 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] > 31514: 81 c3 e0 08 retl > 31518: 90 10 00 00 mov %g0, %o0 > > > 0003151c <_longjmp>: > 151c: 91 d0 20 03 ta 3 > 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 > 31524: e0 1a a0 00 ldd [ %o2 ], %l0 > 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 > 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 > 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 > 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 > 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 > 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 > 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp > 31544: 9c 10 00 0a mov %o2, %sp > 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 > 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 > 31550: 80 90 00 09 tst %o1 > 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> > 31558: 9e 22 e0 08 sub %o3, 8, %o7 > 3155c: 92 10 20 01 mov 1, %o1 > 31560: 81 c3 e0 08 retl > 31564: 90 10 00 09 mov %o1, %o0 > > I'll step through calls to them see if they look the same (network problems..) > > - Jay > > > > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > > > Modified files: > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > > ThreadPThread.m3 > > ThreadPThreadC.c > > > > Log message: > > Restore SPARC SaveRegsInStack implementation. > > longjmp is MT-Level unsafe. > > Not sure what this says about setjmp -- Boehm doesn't appear to process any > > context other than the stacks. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 18:08:44 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 18:08:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126170844.BFDB72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 18:08:44 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.i3 Log message: Forgot to commit this. From jay.krell at cornell.edu Thu Nov 26 18:47:59 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 17:47:59 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, , Message-ID: I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Nov 26 19:02:03 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 18:02:03 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, , , , , Message-ID: Also I'm ok with the assembly, just that we should be sure to have only one copy of it per processor and probably in separate .s files. I might put that back before long. - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 17:47:59 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 19:30:56 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 19:30:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126183056.4FD32CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 19:30:56 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 Log message: Bail out of NoteStackLocations for start < stop. From hosking at elego.de Thu Nov 26 19:44:24 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 19:44:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126184425.32C152474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 19:44:24 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Refactor slightly to avoid need for awkward SignalHandlerC call. From jay.krell at cornell.edu Thu Nov 26 19:55:58 2009 From: jay.krell at cornell.edu (Jay K) Date: Thu, 26 Nov 2009 18:55:58 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20091126003153.D9C7E2474001@birch.elegosoft.com>, ,,, , , , , , Message-ID: er, I'm just plain wishy-washy. If it is just Sparc, I think we're ok. I'll see what Itanium requires "later" (I've had two machines for quite some months, been putting it off.) - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 18:02:03 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Also I'm ok with the assembly, just that we should be sure to have only one copy of it per processor and probably in separate .s files. I might put that back before long. - Jay From: jay.krell at cornell.edu To: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 17:47:59 +0000 CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 I think the backing store might grow up from the same place that the stack grows down, so it is a matter of finding the higher "stackbase". Anyway Itanium will wait. - Jay From: hosking at cs.purdue.edu Date: Thu, 26 Nov 2009 12:06:28 -0500 To: jay.krell at cornell.edu CC: m3commit at elegosoft.com Subject: Re: [M3commit] CVS Update: cm3 Hmm. So, maybe it is OK. What I was concerned about was whether they were safe to call inside the signal handler. Also, I note that setjmp/longjmp should also be checked for Itanium -- there we also have to worry about the register backing store which is not even in the stack as I understand it. Take a look at the Boehm collector sources to see how they handle it there. I'm OK with putting back setjmp/longjmp on the basis of what you've found.... On 25 Nov 2009, at 21:03, Jay K wrote: > longjmp is MT-Level unsafe. Tony, I see that now in the docs, but doesn't that sound very wierd and incorrect? /usr/sfw/bin/gobjdump -D /lib/libc.so > 1.txt vi 1.txt 000314fc <_setjmp>: 314fc: c0 22 20 00 clr [ %o0 ] 31500: dc 22 20 04 st %sp, [ %o0 + 4 ] 31504: 92 03 e0 08 add %o7, 8, %o1 31508: d2 22 20 08 st %o1, [ %o0 + 8 ] 3150c: fc 22 20 0c st %fp, [ %o0 + 0xc ] 31510: fe 22 20 10 st %i7, [ %o0 + 0x10 ] 31514: 81 c3 e0 08 retl 31518: 90 10 00 00 mov %g0, %o0 0003151c <_longjmp>: 151c: 91 d0 20 03 ta 3 31520: d4 02 20 04 ld [ %o0 + 4 ], %o2 31524: e0 1a a0 00 ldd [ %o2 ], %l0 31528: e4 1a a0 08 ldd [ %o2 + 8 ], %l2 3152c: e8 1a a0 10 ldd [ %o2 + 0x10 ], %l4 31530: ec 1a a0 18 ldd [ %o2 + 0x18 ], %l6 31534: f0 1a a0 20 ldd [ %o2 + 0x20 ], %i0 31538: f4 1a a0 28 ldd [ %o2 + 0x28 ], %i2 3153c: f8 1a a0 30 ldd [ %o2 + 0x30 ], %i4 31540: fc 02 20 0c ld [ %o0 + 0xc ], %fp 31544: 9c 10 00 0a mov %o2, %sp 31548: fe 02 20 10 ld [ %o0 + 0x10 ], %i7 3154c: d6 02 20 08 ld [ %o0 + 8 ], %o3 31550: 80 90 00 09 tst %o1 31554: 12 80 00 03 bne 31560 <_longjmp+0x44> 31558: 9e 22 e0 08 sub %o3, 8, %o7 3155c: 92 10 20 01 mov 1, %o1 31560: 81 c3 e0 08 retl 31564: 90 10 00 09 mov %o1, %o0 I'll step through calls to them see if they look the same (network problems..) - Jay > Date: Thu, 26 Nov 2009 01:31:53 +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/11/26 01:31:53 > > Modified files: > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 > ThreadPThread.m3 > ThreadPThreadC.c > > Log message: > Restore SPARC SaveRegsInStack implementation. > longjmp is MT-Level unsafe. > Not sure what this says about setjmp -- Boehm doesn't appear to process any > context other than the stacks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Thu Nov 26 21:57:28 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 26 Nov 2009 21:57:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091126205728.346BF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/26 21:57:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: Something closer to what Jay seems to like. We could even extract the stack pointer from the ucontext_t. From jay.krell at cornell.edu Fri Nov 27 09:04:36 2009 From: jay.krell at cornell.edu (Jay K) Date: Fri, 27 Nov 2009 08:04:36 +0000 Subject: [M3commit] CVS Update: add link to contributed Debian archives In-Reply-To: <20091115123820.51F5B2474001@birch.elegosoft.com> References: <20091115123820.51F5B2474001@birch.elegosoft.com> Message-ID: Note that the Hudson build produces .deb files: % pwd /var/www/modula3.elegosoft.com/cm3/releng % ls -l *deb -rw-r--r-- 1 hudson m3 42426960 2009-11-03 08:39 cm3-AMD64_LINUX-RC4.deb -rw-r--r-- 1 hudson m3 68637358 2009-11-03 16:30 cm3-FreeBSD4-RC4.deb -rw-r--r-- 1 hudson m3 41463292 2009-09-27 21:49 cm3-LINUXLIBC6-pre-RC4.deb -rw-r--r-- 1 hudson m3 71685410 2009-11-04 23:57 cm3-PPC_DARWIN-RC4.deb -rw-r--r-- 1 hudson m3 37000860 2009-11-04 18:27 cm3-SOLgnu-RC4.deb I know non-Linux-.deb might seem odd, but the file format is just .tar.{gz,bz2,lzma} inside an ar file with just a bit more information. They are just like the other packages except there is no installer and the paths include a hardcoded /usr/local/cm3. These .deb files contain "everything" so there is less to test and less to implement (I realize it is a tradeoff). Maybe link to these too? - Jay > Date: Sun, 15 Nov 2009 13:38:20 +0000 > To: m3commit at elegosoft.com > From: wagner at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: wagner at birch. 09/11/15 13:38:20 > > Modified files: > cm3/www/: Tag: release_branch_cm3_5_8 download.html news.html > top.html > > Log message: > add link to contributed Debian archives > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Nov 27 09:12:54 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:12:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127081254.D5CB12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:12:54 Modified files: cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c Log message: Interix needs #define _REENTRANT From jkrell at elego.de Fri Nov 27 09:17:45 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:17:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127081746.560CE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:17:45 Modified files: cm3/m3-comm/tcp/src/POSIX/: HerrnoC.c Log message: Interix needs #define _REENTRANT From jkrell at elego.de Fri Nov 27 09:20:33 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:20:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082033.8C529CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:20:33 Modified files: cm3/m3-lectern/lecternclient/src/POSIX/: LecternClient.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change on the config file From jkrell at elego.de Fri Nov 27 09:22:25 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:22:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082225.3EDE12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:22:25 Modified files: cm3/m3-libs/dps/src/: ccDisplayPS.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); also remove manual 'extern int errno', there is already #include and it should suffice From jkrell at elego.de Fri Nov 27 09:23:44 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:23:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082344.A69A12474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:23:44 Modified files: cm3/m3-tools/cvsup/suptcp/src/common/: SupErrnoC.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); probably we can just remove this file From jkrell at elego.de Fri Nov 27 09:24:53 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:24:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082453.68FE82474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:24:53 Modified files: cm3/m3-tools/cvsup/suplib/src/libmd/: md5hl.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file) From jkrell at elego.de Fri Nov 27 09:26:39 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:26:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082639.CE116CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:26:39 Modified files: cm3/m3-libs/sysutils/src/: SystemC.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); this file is only for bootstrapping against older builds so probably could be left 'broken' From jkrell at elego.de Fri Nov 27 09:27:32 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:27:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082732.1498ACC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:27:32 Modified files: cm3/m3-mail/llscan/src/: err.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file) From jkrell at elego.de Fri Nov 27 09:28:57 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:28:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127082857.E1980CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:28:57 Modified files: cm3/m3-mail/llscan/src/: llscan.c Log message: any file that uses errno or h_errno, at least, needs #define _REENTRANT for Interix (might change in the config file); also remove manual 'extern int errno', there is already #include and it should suffice From jkrell at elego.de Fri Nov 27 09:50:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 9:50:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127085043.BD5AF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 09:50:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: copy from head and: change RTThread back to ThreadInternal change limit to stop fixes AMD64_LINUX p007 hang From jkrell at elego.de Fri Nov 27 10:50:56 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:50:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095057.15E1D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:50:56 Added files: cm3/m3-win/w32api/: CONTRIBUTIONS ChangeLog Makefile.in README.w32api TODO aclocal.m4 config.guess config.sub configure configure.in install-sh cm3/m3-win/w32api/include/: accctrl.h aclapi.h aclui.h adsprop.h afxres.h amaudio.h amvideo.h audevcod.h aviriff.h aygshell.h basetsd.h basetyps.h bdatypes.h cderr.h cguid.h cmnquery.h comcat.h commctrl.h commdlg.h control.h cpl.h cplext.h custcntl.h dbt.h dde.h ddeml.h devguid.h dhcpcsdk.h dlgs.h docobj.h dsadmin.h dsclient.h dsgetdc.h dshow.h dsquery.h dsrole.h dvdevcod.h dvdmedia.h edevdefs.h errorrep.h errors.h evcode.h exdisp.h exdispid.h fltdefs.h httpext.h icm.h idispids.h il21dec.h imagehlp.h imm.h initguid.h intshcut.h ipexport.h iphlpapi.h ipifcons.h ipinfoid.h iprtrmib.h iptypes.h ipxconst.h ipxrtdef.h ipxtfflt.h isguids.h ks.h ksmedia.h largeint.h lm.h lmaccess.h lmalert.h lmapibuf.h lmat.h lmaudit.h lmbrowsr.h lmchdev.h lmconfig.h lmcons.h lmerr.h lmerrlog.h lmmsg.h lmremutl.h lmrepl.h lmserver.h lmshare.h lmsname.h lmstats.h lmsvc.h lmuse.h lmuseflg.h lmwksta.h lzexpand.h mapi.h mciavi.h mcx.h mgm.h mgmtapi.h mlang.h mmreg.h mmsystem.h mpegtype.h mprapi.h mq.h msacm.h mshtml.h mswsock.h nb30.h nddeapi.h nspapi.h ntdef.h ntdll.h ntdsapi.h ntdsbcli.h ntldap.h ntsecapi.h ntsecpkg.h oaidl.h objbase.h objfwd.h objidl.h objsafe.h objsel.h ocidl.h odbcinst.h ole.h ole2.h ole2ver.h oleacc.h oleauto.h olectl.h olectlid.h oledlg.h oleidl.h pbt.h poppack.h powrprof.h prsht.h psapi.h pshpack1.h pshpack2.h pshpack4.h pshpack8.h qedit.h rapi.h ras.h rasdlg.h raserror.h rassapi.h reason.h regstr.h richedit.h richole.h routprot.h rpc.h rpcdce.h rpcdce2.h rpcdcep.h rpcndr.h rpcnsi.h rpcnsip.h rpcnterr.h rpcproxy.h rtutils.h schannel.h schnlsp.h scrnsave.h sddl.h secext.h security.h servprov.h setupapi.h shellapi.h shldisp.h shlguid.h shlobj.h shlwapi.h snmp.h specstrings.h sql.h sqlext.h sqltypes.h sqlucode.h sspi.h stm.h strmif.h subauth.h svcguid.h tlhelp32.h tmschema.h unknwn.h userenv.h usp10.h uxtheme.h vfw.h vidcap.h vmr9.h vptype.h w32api.h winable.h winbase.h winber.h wincon.h wincrypt.h windef.h windns.h windows.h windowsx.h winerror.h wingdi.h wininet.h winioctl.h winldap.h winnetwk.h winnls.h winnt.h winperf.h winreg.h winresrc.h winsnmp.h winsock.h winsock2.h winspool.h winsvc.h winuser.h winver.h ws2spi.h ws2tcpip.h wsahelp.h wsipx.h wsnetbs.h wtsapi32.h wtypes.h xprtdefs.h zmouse.h cm3/m3-win/w32api/include/GL/: gl.h glext.h glu.h cm3/m3-win/w32api/include/ddk/: atm.h batclass.h cfg.h cfgmgr32.h d4drvif.h d4iface.h ddkmapi.h hidclass.h hidpi.h hidsdi.h hidusage.h kbdmou.h mcd.h miniport.h minitape.h mountdev.h mountmgr.h ndis.h ndisguid.h ndistapi.h ndiswan.h netevent.h netpnp.h newdev.h ntapi.h ntdd8042.h ntddbeep.h ntddcdrm.h ntddcdvd.h ntddchgr.h ntdddisk.h ntddk.h ntddkbd.h ntddmou.h ntddndis.h ntddpar.h ntddpcm.h ntddscsi.h ntddser.h ntddstor.h ntddtape.h ntddtdi.h ntddvdeo.h ntddvol.h ntifs.h ntpoapi.h ntstatus.h parallel.h pfhook.h poclass.h scsi.h scsiscan.h scsiwmi.h smbus.h srb.h storport.h tdi.h tdiinfo.h tdikrnl.h tdistat.h tvout.h upssvc.h usb.h usb100.h usbcamdi.h usbdi.h usbioctl.h usbiodef.h usbscan.h usbuser.h video.h videoagp.h win2k.h winddi.h winddk.h winnt4.h winxp.h ws2san.h xfilter.h cm3/m3-win/w32api/include/directx/: d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h cm3/m3-win/w32api/lib/: Makefile.in aclui.def advapi32.def ativscp-uuid.c avicap32.def avifil32.def bthprops.def cap.def cguid-uuid.c comcat-uuid.c comctl32.def comdlg32.def crypt32.def ctl3d32.def devguid.c dhcpcsvc.def dlcapi.def dnsapi.def docobj-uuid.c exdisp-uuid.c extras-uuid.c faultrep.def gdi32.def glaux.def glu32.def hlguids-uuid.c hlink-uuid.c icmui.def igmpagnt.def imagehlp.def imm32.def iphlpapi.def kernel32.def largeint.c lz32.def mapi32.def mfcuia32.def mgmtapi.def mlang-uuid.c mpr.def mprapi.def mqrt.def msacm32.def mscms.def mshtml-uuid.c msimg32.def msvcp60.def msvfw32.def mswsock.def msxml-uuid.c nddeapi.def netapi32.def ntdll.def oaidl-uuid.c objidl-uuid.c objsafe-uuid.c ocidl-uuid.c odbc32.def odbccp32.def ole32.def oleacc-uuid.c oleacc.def oleaut32.def olecli32.def olectlid-uuid.c oledlg.def oleidl-uuid.c olepro32.def olesvr32.def opengl32.def penwin32.def pkpd32.def power-uuid.c powrprof.def psapi.def quartz.def rapi.def rasapi32.def rasdlg.def res.rc rpcdce4.def rpcns4.def rpcrt4.def rtm.def rtutils.def scrnsave.c secur32.def servprov-uuid.c setupapi.def shell32.c shell32.def shfolder.def shlwapi.def snmpapi.def svrapi.def tapi32.def test.c th32.def thunk32.def unknwn-uuid.c url.def urlmon-uuid.c user32.def userenv.def usp10.def uxtheme.def vdmdbg.def version.def vfw32.mri win32spl.def wininet.def winmm.def winspool.def winstrm.def wldap32.def wow32.def ws2_32.c ws2_32.def wsnmp32.def wsock32.def wst.def wtsapi32.def cm3/m3-win/w32api/lib/ddk/: Makefile.in apcups.def cfgmgr32.def dxapi.def hal.def hid.def hidparse.def mcd.def ndis.def newdev.def ntoskrnl.def scsiport.def tdi.def usbcamd.def usbcamd2.def videoprt.def win32k.def cm3/m3-win/w32api/lib/directx/: Makefile.in d3d8.def d3d9.def d3dim.def d3drm.def d3dx8d.def d3dx9d.def d3dxof.def ddraw.def dinput.def dinput8.def dinput_joy.c dinput_joy2.c dinput_kbd.c dinput_mouse.c dinput_mouse2.c dinput_private.h dmoguids.c dplayx.def dpnaddr.def dpnet.def dpnlobby.def dpvoice.def dsetup.def dsound.def dxerr.c dxerr8.c dxerr8w.c dxerr9.c dxerr9w.c dxguid.c ksproxy.def ksuser.c ksuser.def msdmo.def strmiids.c test.c Log message: initial import of free w32api headers/libraries This is intended only for use with Interix to get at a little bit of functionality in ntdll, and we will prune it down aggressively. From jkrell at elego.de Fri Nov 27 10:51:51 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:51:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095151.EE267CC814@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:51:51 Removed files: cm3/m3-win/w32api/include/directx/: d3d9.h d3d9caps.h d3d9types.h dxerr8.h dxerr9.h Log message: remove directx stuff we don't need From jkrell at elego.de Fri Nov 27 10:52:41 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:52:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095241.24CF02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:52:41 Removed files: cm3/m3-win/w32api/include/GL/: gl.h glext.h glu.h Log message: remove OpenGL stuff we don't need From jkrell at elego.de Fri Nov 27 10:58:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:58:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095823.BCDCFCC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:58:23 Removed files: cm3/m3-win/w32api/lib/ddk/: Makefile.in apcups.def cfgmgr32.def dxapi.def hal.def hid.def hidparse.def mcd.def ndis.def newdev.def ntoskrnl.def scsiport.def tdi.def usbcamd.def usbcamd2.def videoprt.def win32k.def Log message: remove ddk stuff we don't need From jkrell at elego.de Fri Nov 27 10:59:06 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 10:59:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127095906.3B848CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 10:59:06 Removed files: cm3/m3-win/w32api/lib/directx/: Makefile.in d3d8.def d3d9.def d3dim.def d3drm.def d3dx8d.def d3dx9d.def d3dxof.def ddraw.def dinput.def dinput8.def dinput_joy.c dinput_joy2.c dinput_kbd.c dinput_mouse.c dinput_mouse2.c dinput_private.h dmoguids.c dplayx.def dpnaddr.def dpnet.def dpnlobby.def dpvoice.def dsetup.def dsound.def dxerr.c dxerr8.c dxerr8w.c dxerr9.c dxerr9w.c dxguid.c ksproxy.def ksuser.c ksuser.def msdmo.def strmiids.c test.c Log message: remove directx stuff we don't need From jkrell at elego.de Fri Nov 27 11:02:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:02:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127100205.D63E72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:02:05 Removed files: cm3/m3-win/w32api/lib/: aclui.def advapi32.def ativscp-uuid.c avicap32.def avifil32.def bthprops.def cap.def cguid-uuid.c comcat-uuid.c comctl32.def comdlg32.def crypt32.def ctl3d32.def devguid.c dhcpcsvc.def dlcapi.def dnsapi.def docobj-uuid.c exdisp-uuid.c extras-uuid.c faultrep.def gdi32.def glaux.def glu32.def hlguids-uuid.c hlink-uuid.c icmui.def igmpagnt.def imagehlp.def imm32.def iphlpapi.def kernel32.def largeint.c lz32.def mapi32.def mfcuia32.def mgmtapi.def mlang-uuid.c mpr.def mprapi.def mqrt.def msacm32.def mscms.def mshtml-uuid.c msimg32.def msvcp60.def msvfw32.def mswsock.def msxml-uuid.c nddeapi.def netapi32.def oaidl-uuid.c objidl-uuid.c objsafe-uuid.c ocidl-uuid.c odbc32.def odbccp32.def ole32.def oleacc-uuid.c oleacc.def oleaut32.def olecli32.def olectlid-uuid.c oledlg.def oleidl-uuid.c olepro32.def olesvr32.def opengl32.def penwin32.def pkpd32.def power-uuid.c powrprof.def psapi.def quartz.def rapi.def rasapi32.def rasdlg.def res.rc rpcdce4.def rpcns4.def rpcrt4.def rtm.def rtutils.def scrnsave.c secur32.def servprov-uuid.c setupapi.def shell32.c shell32.def shfolder.def shlwapi.def snmpapi.def svrapi.def tapi32.def test.c th32.def thunk32.def unknwn-uuid.c url.def urlmon-uuid.c user32.def userenv.def usp10.def uxtheme.def vdmdbg.def version.def vfw32.mri win32spl.def wininet.def winmm.def winspool.def winstrm.def wldap32.def wow32.def ws2_32.c ws2_32.def wsnmp32.def wsock32.def wst.def wtsapi32.def Log message: delete all but ntdll From jkrell at elego.de Fri Nov 27 11:11:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:11:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127101105.5E70B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:11:05 Modified files: cm3/m3-win/w32api/: Makefile.in configure configure.in cm3/m3-win/w32api/lib/: Makefile.in Log message: account for deletions From jkrell at elego.de Fri Nov 27 11:22:43 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:22:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127102243.E18BE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:22:43 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: apple.c freebsd.c Log message: split up ThreadPThreadC.c some currently #include the pieces but might want to not do that From jkrell at elego.de Fri Nov 27 11:23:58 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 11:23:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127102358.855242474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 11:23:58 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: noinline.h Log message: move a few dead lines out (safekeeping? move to m3unix.h or introduce some new m3defs.h?) From jkrell at elego.de Fri Nov 27 12:03:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:03:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127110326.A1A102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:03:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: work in progress for interix direct suspend it seems pretty simple and viable not yet worked out small issues: reaching around for #include (or, notice that it ended up so simple, that we can just duplicate the three lines plus #include windows.h for context; though the headers seem to conflict and we do need context, so probably best to compile separately) similarly, the .lib using HANDLE instead pthread_t (need to store both in the activation, and then use NtDuplicateObject(NtCurrentThread()) probably) From jkrell at elego.de Fri Nov 27 12:04:20 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:04:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127110420.37CF02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:04:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: fix assert -- context vs. signal_context From jkrell at elego.de Fri Nov 27 12:29:30 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:29:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127112930.466CB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:29:30 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: interix.c Log message: compile separately since the headers seem to conflict From jkrell at elego.de Fri Nov 27 12:42:15 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 12:42:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127114215.AE84ECC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 12:42:15 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: replace pthread_detach(me.handle) with pthread_detach_Self, where pthread_detach_self is in C as pthread_detach(pthread_self()) All other uses of act.handle are for suspend/resume. This little trick will let us redefine act.handle on Interix as the NT thread handle. From jkrell at elego.de Fri Nov 27 13:27:26 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 13:27:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127122726.95C04CC811@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 13:27:26 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThreadC.c m3makefile Log message: attempt to solve some of the problems and flaws - only compile ThreadInterix.c on interix, remove dummy - modify SYSTEM_CC to point to headers - clevely implement pthread_self as returning NT thread handle (DuplicateObject(CurrentThread()) From jkrell at elego.de Fri Nov 27 18:34:31 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:34:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127173432.023DB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:34:31 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: fix readability and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) From jkrell at elego.de Fri Nov 27 18:37:38 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:37:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127173738.54424CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:37:38 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: a little less casting From jkrell at elego.de Fri Nov 27 18:43:09 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:43:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174309.99353CC812@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:43:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: fix readability (subjective) and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) From jkrell at elego.de Fri Nov 27 18:47:10 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:47:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174710.ACF092474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:47:10 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: Tag: release_branch_cm3_5_8 ThreadPThreadC.c Log message: set local after longjmp, you know, because strictly speaking it'd have to be volatile to survive (but parameters are ok?) From jkrell at elego.de Fri Nov 27 18:48:05 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 18:48:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127174805.9BB3E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 18:48:05 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: set local after longjmp, because strictly speaking it'd have to be volatile to survive (but parameters are ok?) From jkrell at elego.de Fri Nov 27 20:36:13 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:36:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127193613.C0EB02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:36:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThreadC.c m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadApple.c ThreadFreeBSD.c Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: apple.c freebsd.c Log message: using c_source helps build working boot archives, so use it instead of #include (I think there is some other directive, but also boot archives are "flat" so we need more unique file names.) consider ThreadDarwin.c or ThreadMacosx or ThreadMacX or such instead From hosking at elego.de Fri Nov 27 20:53:37 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 20:53:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195337.4CFC72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 20:53:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: Let's not depend on ucontext_t reporting a reliable stack pointer. From jkrell at elego.de Fri Nov 27 20:54:36 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:54:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195436.5D7BC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:54:36 Added files: cm3/m3-win/ntdll/src/: m3makefile ntdll.c Log message: attempt to fill in missing pieces on interix this is just like import-libs, but I don't want to "ship" From jkrell at elego.de Fri Nov 27 20:56:11 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:56:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195611.A1FD6CC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:56:11 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: try make it safe to build for all platforms From jkrell at elego.de Fri Nov 27 20:58:23 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 20:58:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127195823.1FA6ACC3B2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 20:58:23 Modified files: cm3/scripts/python/: pylib.py Log message: add ntdll (wherever import-libs is) From jkrell at elego.de Fri Nov 27 21:00:08 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 21:00:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127200008.351D72474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 21:00:08 Modified files: cm3/m3-libs/m3core/src/unix/Common/: m3unix.h Log message: Interix has no socklen_t, here typedef int socklen_t From jkrell at elego.de Fri Nov 27 21:00:40 2009 From: jkrell at elego.de (Jay Krell) Date: Fri, 27 Nov 2009 21:00:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127200040.CDAFD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/27 21:00:40 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: Interix has no net/if.h From hosking at elego.de Fri Nov 27 21:34:56 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:34:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127203457.057692474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:34:56 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: DEC(inCritical) on exception return from Fork. From hosking at elego.de Fri Nov 27 21:41:39 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:41:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127204139.696432474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:41:39 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: Casts (some needed, some not). From hosking at elego.de Fri Nov 27 21:49:54 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 21:49:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127204954.E612E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 21:49:54 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Unused field. From hosking at elego.de Fri Nov 27 22:05:47 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:05:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127210547.5F4072474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:05:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 ThreadPosix.m3 ThreadPosixC.c Log message: Flag live thread to ProcessContext with NIL sp. Eliminate GetContext. From hosking at elego.de Fri Nov 27 22:11:47 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:11:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127211147.46E602474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:11:47 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Cosmetic reordering. From hosking at elego.de Fri Nov 27 22:13:18 2009 From: hosking at elego.de (Antony Hosking) Date: Fri, 27 Nov 2009 22:13:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091127211319.5E41B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/27 22:13:17 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Bring comment up to date. From jkrell at elego.de Sat Nov 28 07:59:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 7:59:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128065947.C69CE2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 07:59:47 Modified files: cm3/scripts/python/: pylib.py Log message: some fixes/hack to compile/link Interix bootstrap From jkrell at elego.de Sat Nov 28 08:01:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:01:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128070115.ED2212474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:01:15 Modified files: cm3/scripts/python/: pylib.py Log message: delete another output file (part of 'some fixes/hack to compile/link Interix bootstrap') From jkrell at elego.de Sat Nov 28 08:16:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:16:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128071602.312A32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:16:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c ThreadPThread.i3 ThreadPThread.m3 ThreadPThreadC.c Log message: split pthread_self into GetCurrentThreadHandleForSuspendResume and GetCurrentThreadHandleForLockHolder From jkrell at elego.de Sat Nov 28 08:34:54 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:34:54 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128073454.9A99D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:34:54 Modified files: cm3/scripts/python/: pylib.py Log message: newlines and fix comment for Interix From jkrell at elego.de Sat Nov 28 08:38:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 8:38:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128073855.EE6062474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 08:38:55 Modified files: cm3/scripts/python/: pylib.py Log message: need -f on rm commands to avoid error for nonexistant files From jkrell at elego.de Sat Nov 28 11:53:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 11:53:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128105332.25A392474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 11:53:32 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: fixes for interix (not sure how it used to work) From jkrell at elego.de Sat Nov 28 11:56:03 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 11:56:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128105603.841B52474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 11:56:03 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Unix.common Log message: special casing for ntdll on Interix similar to Uconstants.obj, hand.obj From jkrell at elego.de Sat Nov 28 12:05:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:05:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110514.C83232474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:05:14 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Unix.common Added files: cm3/m3-sys/cminstall/src/config-no-install/: Interix.common Log message: a little better -- ntdll only needed by m3core and non-shared executables (we don't have a notion of a "standalone shared library" here, though it does make sense; more generally each library an executable or shared library links to could be shared or not -- a boolean per import) From jkrell at elego.de Sat Nov 28 12:07:00 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:07:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110700.F124B2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:07:00 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Interix.common Unix.common Log message: PKG_INSTALL is defined later, so move back to Unix.common; probably could be better but ok From jkrell at elego.de Sat Nov 28 12:09:15 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:09:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128110915.B2C2A2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:09:15 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: fix newlines From jkrell at elego.de Sat Nov 28 12:11:11 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:11:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128111111.8BA682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:11:11 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: do even less on most platforms From jkrell at elego.de Sat Nov 28 12:12:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:12:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128111246.99BAF2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:12:46 Modified files: cm3/m3-win/ntdll/src/: ntdll.c Log message: trim it down From jkrell at elego.de Sat Nov 28 12:20:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:20:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128112039.93CF22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:20:39 Modified files: cm3/m3-win/ntdll/src/: ntdll.c Log message: extern C From jkrell at elego.de Sat Nov 28 12:50:26 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Nov 2009 12:50:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128115028.BE5842474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/28 12:50:26 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: NT386.common Unix.common cm3cfg.common Log message: support "libfoo.a.sa" for "standalone" in Interix like NT386's "foo.lib.sa" simple: move ConvertLibsToStandalone from NT386.common to cm3cfg.common add call to it produce the .sa files (move foo.a foo.a.sa, etc.) From hosking at elego.de Sat Nov 28 23:57:43 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 28 Nov 2009 23:57:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091128225744.10D682474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/11/28 23:57:43 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Fix names in process procedure to match declaration in RTThread.i3. From jkrell at elego.de Sun Nov 29 03:43:18 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 3:43:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129024319.C46B32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 03:43:18 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Unix.common Log message: move IsInterix so it is more available and can filter gui stuff From jkrell at elego.de Sun Nov 29 04:45:00 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 4:45:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129034501.EA6422474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 04:45:00 Modified files: cm3/m3-ui/ui/src/xvbt/: m3makefile Log message: filter out for Interix (maybe we should be checking for X11 in SYSTEM_LIBS or SYSTEM_LIBORDER? (imagine some wierdo system which X is 'built in' though) From jkrell at elego.de Sun Nov 29 04:46:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 4:46:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129034658.973592474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 04:46:58 Modified files: cm3/m3-ui/ui/src/xvbt/: m3makefile Log message: use if SYSTEM_LIBS contains X11 like m3-ui\X11R4 (which I'm sure I put in; need consensus here) From jkrell at elego.de Sun Nov 29 05:13:29 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:13:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129041330.083E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:13:29 Modified files: cm3/m3-ui/X11R4/src/: m3makefile Log message: experiment wrt X and Interix build it all, but just don't import_sys_lib("X11") if it isn't there this works as long as the library is entirely "external" and doesn't actually contain any code that links to anything (ie: if we avoid cloning headers, this won't work, not clear what is best, and not clear how to filter well, in particular, only this low level should really know about X11, higher up should check for their immediate dependencies I kind of think..) From jkrell at elego.de Sun Nov 29 05:44:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:44:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129044459.84F4F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:44:58 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Log message: proc HasGui() is return not IsInterix() end From jkrell at elego.de Sun Nov 29 05:48:59 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:48:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129044900.219012474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:48:59 Modified files: cm3/m3-ui/videovbt/src/: m3makefile Log message: use HasGui to skip on Interix (at least for now, I really should be able to get X to work on Interix, it's only X CLIENT after all, not server) From jkrell at elego.de Sun Nov 29 05:55:24 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 5:55:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129045525.4299F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 05:55:24 Modified files: cm3/m3-ui/bicycle/src/: m3makefile cm3/m3-ui/cmvbt/src/: m3makefile cm3/m3-ui/formsvbt/src/: m3makefile cm3/m3-ui/images/src/: m3makefile cm3/m3-ui/juno-2/juno-app/src/: m3makefile cm3/m3-ui/ui/test/Argus/src/: m3makefile cm3/m3-ui/ui/test/BadBricks/src/: m3makefile cm3/m3-ui/ui/test/ButtonTest/src/: m3makefile cm3/m3-ui/ui/test/Cards/src/: m3makefile cm3/m3-ui/ui/test/ColorMonster/src/: m3makefile cm3/m3-ui/ui/test/Draw/src/: m3makefile cm3/m3-ui/ui/test/EyesVBT/src/: m3makefile cm3/m3-ui/ui/test/Hello/src/: m3makefile cm3/m3-ui/ui/test/Monster/src/: m3makefile cm3/m3-ui/ui/test/Sketch2/src/: m3makefile cm3/m3-ui/ui/test/StarAnim/src/: m3makefile cm3/m3-ui/ui/test/Track/src/: m3makefile cm3/m3-ui/ui/test/TypeInTest/src/: m3makefile cm3/m3-ui/ui-tests/pixmapcomtest/src/: m3makefile cm3/m3-ui/vbtkit/src/: m3makefile cm3/m3-ui/webvbt/src/hyperpage/src/: m3makefile Log message: wherever there is import("ui"), wrap in if HasGui() From jkrell at elego.de Sun Nov 29 06:06:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:06:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129050647.7B1272474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:06:46 Modified files: cm3/m3-ui/codeview/src/: m3makefile cm3/m3-ui/formsedit/src/: m3makefile cm3/m3-ui/formsview/src/: m3makefile cm3/m3-ui/mg/src/: m3makefile cm3/m3-ui/ui-tests/test25/src/: m3makefile cm3/m3-ui/ui-tests/texturecomtest/src/: m3makefile cm3/m3-ui/webvbt/src/: m3makefile Log message: Wherever there is import("formsvbt"), wrap with HasGui(). From jkrell at elego.de Sun Nov 29 06:18:41 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:18:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129051842.059C02474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:18:41 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: cm3cfg.common Log message: proc HasOpenGL() is % but see http://www.interix.com/Motif-OpenGL.htm return not IsInterix() end From jkrell at elego.de Sun Nov 29 06:21:52 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:21:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129052153.0E57D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:21:52 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Log message: remove OPENGL and MOTIF from I386_INTERIX, though both are available from third party From jkrell at elego.de Sun Nov 29 06:51:39 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 6:51:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129055140.CBD5D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 06:51:39 Modified files: cm3/m3-ui/bicycle/src/: m3makefile cm3/m3-ui/cmvbt/src/: m3makefile cm3/m3-ui/codeview/src/: m3makefile cm3/m3-ui/formsvbt/src/: m3makefile cm3/m3-ui/images/src/: m3makefile cm3/m3-ui/mg/src/: m3makefile cm3/m3-ui/mgkit/src/: m3makefile cm3/m3-ui/ui/src/xvbt/: m3makefile cm3/m3-ui/ui/test/EyesVBT/src/: m3makefile cm3/m3-ui/vbtkit/src/: m3makefile cm3/m3-ui/videovbt/src/: m3makefile cm3/m3-ui/webvbt/src/: m3makefile cm3/m3-ui/webvbt/src/hyperpage/src/: m3makefile cm3/m3-ui/zeus/src/: m3makefile Log message: change if HasGui() .. Library(xxx) end to if HasGui() build_standalone() end ... Library(xxx) so we still compile all the code, which is arguably worthwhile test coverage (we could also change program that won't link into standalone libraries, but for now, I haven't made that call) From jkrell at elego.de Sun Nov 29 07:09:06 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:09:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129060907.781D22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:09:06 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: use IsInterix instead of reimplementing it From jkrell at elego.de Sun Nov 29 07:09:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:09:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129060946.AB8142474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:09:46 Added files: cm3/m3-win/ntdll/: .cvsignore Log message: add .cvsignore From jkrell at elego.de Sun Nov 29 07:13:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:13:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061314.BB94D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:13:14 Modified files: cm3/m3-obliq/obliqsrvui/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:14:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:14:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061443.302412474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:14:43 Modified files: cm3/m3-obliq/obliqbinui/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:15:58 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:15:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129061559.950C32474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:15:58 Modified files: cm3/m3-obliq/obliqbinanim/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Sun Nov 29 07:40:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 29 Nov 2009 7:40:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091129064050.A5F922474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/29 07:40:48 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: I386_INTERIX Log message: remove --no-undefined, at least for now From jkrell at elego.de Mon Nov 30 03:33:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 3:33:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130023326.A24CD2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 03:33:26 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Unix.common Log message: use whole-archive on Interix to shorten command lines; did not have proposed affect of causing unresolved symbols to be resolved but ok From wagner at elegosoft.com Mon Nov 30 08:14:24 2009 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 30 Nov 2009 08:14:24 +0100 Subject: [M3commit] CVS Update: add link to contributed Debian archives In-Reply-To: References: <20091115123820.51F5B2474001@birch.elegosoft.com> Message-ID: <20091130081424.2hkzni7nwow4g4sw@mail.elegosoft.com> Quoting Jay K : > Note that the Hudson build produces .deb files: > > % pwd > /var/www/modula3.elegosoft.com/cm3/releng > % ls -l *deb > -rw-r--r-- 1 hudson m3 42426960 2009-11-03 08:39 cm3-AMD64_LINUX-RC4.deb > -rw-r--r-- 1 hudson m3 68637358 2009-11-03 16:30 cm3-FreeBSD4-RC4.deb > -rw-r--r-- 1 hudson m3 41463292 2009-09-27 21:49 cm3-LINUXLIBC6-pre-RC4.deb > -rw-r--r-- 1 hudson m3 71685410 2009-11-04 23:57 cm3-PPC_DARWIN-RC4.deb > -rw-r--r-- 1 hudson m3 37000860 2009-11-04 18:27 cm3-SOLgnu-RC4.deb > > I know non-Linux-.deb might seem odd, but the file format is just > .tar.{gz,bz2,lzma} inside an ar file with just a bit more > information. They are just like the other packages except there is > no installer and the paths include a hardcoded /usr/local/cm3. > > These .deb files contain "everything" so there is less to test and > less to implement (I realize it is a tradeoff). > > Maybe link to these too? Of course we should link them, too. You should just have extended the index build script when you introduced those. I'll have a look tonight, unless you are faster. I'd just put them in a separate paragraph, as there seems to be only one per platform. Olaf -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From jkrell at elego.de Mon Nov 30 10:05:53 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:05:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130090553.CFE892474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:05:53 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: rewrite to do everything, so maybe less special casing in Unix.common From jkrell at elego.de Mon Nov 30 10:23:24 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:23:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092324.EF27F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:23:24 Modified files: cm3/m3-win/ntdll/src/: m3makefile Log message: rewrite again From jkrell at elego.de Mon Nov 30 10:27:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:27:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092706.02E0C2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:27:05 Modified files: cm3/m3-obliq/visualobliq/src/: m3makefile cm3/m3-obliq/voquery/src/: m3makefile cm3/m3-obliq/vorun/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:28:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:28:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130092845.39AB42474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:28:45 Modified files: cm3/m3-tools/rehearsecode/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:30:33 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:30:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130093033.699DC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:30:33 Modified files: cm3/m3-tools/replayheap/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:31:52 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:31:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130093152.F26352474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:31:52 Modified files: cm3/m3-tools/showthread/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:40:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:40:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094043.9370F2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:40:43 Modified files: cm3/m3-demo/calculator/src/: m3makefile cm3/m3-demo/cube/src/: m3makefile cm3/m3-demo/fisheye/src/: m3makefile cm3/m3-demo/sharedboard/boardclient/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:41:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:41:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094105.83A812474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:41:05 Modified files: cm3/m3-tools/showheap/src/: m3makefile cm3/m3-tools/shownew/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:43:26 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:43:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094326.221CC2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:43:26 Modified files: cm3/m3-demo/mentor/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:44:55 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:44:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130094455.603822474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:44:55 Modified files: cm3/m3-www/deckscape/src/: m3makefile cm3/m3-www/webscape/src/: m3makefile Log message: wrap in if HasGui() From jkrell at elego.de Mon Nov 30 10:53:45 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:53:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095345.40E2E2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:53:45 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: print more information when it fails (just saw it happen :( ) From jkrell at elego.de Mon Nov 30 10:54:19 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:54:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095419.99D832474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:54:19 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: tweak to repeat less and use relative up paths sometimes (was trying to fix a problem but this wasn't it) From jkrell at elego.de Mon Nov 30 10:54:59 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:54:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095459.7B1642474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:54:59 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: m3makefile Log message: fix newlines From jkrell at elego.de Mon Nov 30 10:59:49 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 10:59:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130095949.AAC0D2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 10:59:49 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: more information for errors From jkrell at elego.de Mon Nov 30 11:00:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 11:00:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130100051.BB2E22474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 11:00:51 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: explicit calling convention From jkrell at elego.de Mon Nov 30 13:00:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 13:00:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130120023.A55DB2474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 13:00:22 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadInterix.c Log message: strange need for sleep/retry in duplicating current thread, we get a few access denied otherwise From jkrell at elego.de Mon Nov 30 13:03:07 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 30 Nov 2009 13:03:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20091130120307.D45102474001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/11/30 13:03:07 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: keep two thread handles what to call them is unclear here we ahve: joinHandle suspendResumeHandle aka: pthread ntthread on all but Interix (and possibly Cygwin), they are equivalent, either the result of pthread_create or pthread_self on Interix, once is pthread_create/self, the other is a kernel handle for suspend/resume alternate names welcome the intent seems hoky, but helps much