<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Index: src/float/DS3100/FloatMode.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/DS3100/FloatMode.m3,v<br>retrieving revision 1.2<br>diff -u -w -r1.2 FloatMode.m3<br>--- src/float/DS3100/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2<br>+++ src/float/DS3100/FloatMode.m3 13 Sep 2009 13:27:35 -0000<br>@@ -21,7 +21,7 @@<br> doesn't cause floating-point exceptions)<br> *)<br> <br>-IMPORT FPU, Usignal, ThreadF, Word, RTMisc;<br>+IMPORT FPU, Usignal, ThreadInternal, Word, RTMisc;<br> <br> TYPE RM = RoundingMode;<br> TYPE MRM = FPU.RoundingMode;<br>@@ -53,7 +53,7 @@<br> ExtractFlags (status, state, flags);<br> END Get;<br> BEGIN<br>- ThreadF.GetMyFPState(Get);<br>+ ThreadInternal.GetMyFPState(Get);<br> RETURN flags;<br> END GetFlags;<br> <br>@@ -141,7 +141,7 @@<br> END;<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> RETURN flags;<br> END SetFlags;<br> <br>@@ -163,7 +163,7 @@<br> state.sticky [f] := FALSE;<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> END ClearFlag;<br> <br> TYPE<br>@@ -242,7 +242,7 @@<br> EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER));<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> END SetBehavior;<br> <br> PROCEDURE GetBehavior(f: Flag): Behavior =<br>@@ -252,7 +252,7 @@<br> behavior := state.behavior [f];<br> END Get;<br> BEGIN<br>- ThreadF.GetMyFPState(Get);<br>+ ThreadInternal.GetMyFPState(Get);<br> RETURN behavior;<br> END GetBehavior;<br> <br>Index: src/float/IRIX5/FloatMode.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/IRIX5/FloatMode.m3,v<br>retrieving revision 1.2<br>diff -u -w -r1.2 FloatMode.m3<br>--- src/float/IRIX5/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2<br>+++ src/float/IRIX5/FloatMode.m3 13 Sep 2009 13:27:35 -0000<br>@@ -22,7 +22,7 @@<br> doesn't cause floating-point exceptions)<br> *)<br> <br>-IMPORT FPU, Usignal, ThreadF, Word, RTError;<br>+IMPORT FPU, Usignal, ThreadInternal, Word, RTError;<br> <br> TYPE RM = RoundingMode;<br> TYPE MRM = FPU.RoundingMode;<br>@@ -54,7 +54,7 @@<br> ExtractFlags (status, state, flags);<br> END Get;<br> BEGIN<br>- ThreadF.GetMyFPState(Get);<br>+ ThreadInternal.GetMyFPState(Get);<br> RETURN flags;<br> END GetFlags;<br> <br>@@ -142,7 +142,7 @@<br> END;<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> RETURN flags;<br> END SetFlags;<br> <br>@@ -164,7 +164,7 @@<br> state.sticky [f] := FALSE;<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> END ClearFlag;<br> <br> TYPE<br>@@ -243,7 +243,7 @@<br> EVAL FPU.SetStatus (LOOPHOLE (status, INTEGER));<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> END SetBehavior;<br> <br> PROCEDURE GetBehavior(f: Flag): Behavior =<br>@@ -253,7 +253,7 @@<br> behavior := state.behavior [f];<br> END Get;<br> BEGIN<br>- ThreadF.GetMyFPState(Get);<br>+ ThreadInternal.GetMyFPState(Get);<br> RETURN behavior;<br> END GetBehavior;<br> <br>Index: src/float/VAX/FloatMode.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/float/VAX/FloatMode.m3,v<br>retrieving revision 1.2<br>diff -u -w -r1.2 FloatMode.m3<br>--- src/float/VAX/FloatMode.m3 14 Feb 2006 14:46:37 -0000 1.2<br>+++ src/float/VAX/FloatMode.m3 13 Sep 2009 13:27:35 -0000<br>@@ -9,7 +9,7 @@<br> <br> MODULE FloatMode (* FOR VAX *);<br> <br>-IMPORT ThreadF;<br>+IMPORT ThreadInternal;<br> <br> PROCEDURE SetRounding(md: RoundingMode) RAISES {Failure} =<br> BEGIN<br>@@ -28,7 +28,7 @@<br> flags := state.sticky;<br> END Get;<br> BEGIN<br>- ThreadF.GetMyFPState(Get);<br>+ ThreadInternal.GetMyFPState(Get);<br> RETURN flags;<br> END GetFlags;<br> <br>@@ -49,7 +49,7 @@<br> state.sticky := state.sticky - SET OF Flag {f};<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> END ClearFlag;<br> <br> TYPE<br>@@ -74,7 +74,7 @@<br> state.behavior [f] := b;<br> END Set;<br> BEGIN<br>- ThreadF.SetMyFPState(Set);<br>+ ThreadInternal.SetMyFPState(Set);<br> END SetBehavior;<br> <br> PROCEDURE GetBehavior(f: Flag): Behavior =<br>Index: src/runtime/NT386/RTSignal.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/NT386/RTSignal.m3,v<br>retrieving revision 1.2<br>diff -u -w -r1.2 RTSignal.m3<br>--- src/runtime/NT386/RTSignal.m3 12 Feb 2001 15:22:45 -0000 1.2<br>+++ src/runtime/NT386/RTSignal.m3 13 Sep 2009 13:27:35 -0000<br>@@ -4,7 +4,7 @@<br> UNSAFE MODULE RTSignal;<br> <br> IMPORT RT0, RTMachInfo, RTError, RTException, RTProcess, RuntimeError;<br>-IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadF;<br>+IMPORT WinBase, WinCon, WinDef, WinNT, ThreadContext, Thread, ThreadInternal;<br> <br> TYPE<br> RTE = RuntimeError.T;<br>@@ -60,7 +60,7 @@<br> END;<br> <br> (* Otherwise, just dump our guts... *)<br>- ThreadF.SuspendOthers ();<br>+ ThreadInternal.SuspendOthers ();<br> FOR i := FIRST (SysErrs) TO LAST (SysErrs) DO<br> IF (SysErrs[i].err = err) THEN<br> RTError.ReportPC (pc, SysErrs[i].msg);<br>@@ -71,7 +71,7 @@<br> EXIT;<br> END;<br> END;<br>- ThreadF.ResumeOthers ();<br>+ ThreadInternal.ResumeOthers ();<br> (***<br> IF (old_filter # NIL)<br> THEN RETURN old_filter (info);<br>Index: src/runtime/WIN32/RTOS.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/WIN32/RTOS.m3,v<br>retrieving revision 1.5<br>diff -u -w -r1.5 RTOS.m3<br>--- src/runtime/WIN32/RTOS.m3 29 Dec 2008 10:23:39 -0000 1.5<br>+++ src/runtime/WIN32/RTOS.m3 13 Sep 2009 13:27:35 -0000<br>@@ -6,7 +6,7 @@<br> <br> UNSAFE MODULE RTOS;<br> <br>-IMPORT RTMachInfo, RTSignal, ThreadF;<br>+IMPORT RTMachInfo, RTSignal, ThreadInternal;<br> IMPORT WinBase, WinCon, WinDef;<br> <br> (*--------------------------------------------------- process termination ---*)<br>@@ -20,7 +20,7 @@<br> CONST Magic = 1 * ADRSIZE (INTEGER); (* == offset of "fp" in this frame *)<br> VAR fp: ADDRESS := ADR (fp) + Magic; (* == my frame pointer *)<br> BEGIN<br>- ThreadF.SuspendOthers ();<br>+ ThreadInternal.SuspendOthers ();<br> RTMachInfo.DumpStack (LOOPHOLE (Crash, ADDRESS), fp);<br> RTSignal.RestoreHandlers (); (* so we really do crash... *)<br> IF WinBase.IsDebuggerPresent () # 0 THEN<br>@@ -33,7 +33,7 @@<br> PROCEDURE Crash () =<br> VAR ptr := LOOPHOLE(-99, UNTRACED REF INTEGER);<br> BEGIN<br>- ThreadF.SuspendOthers ();<br>+ ThreadInternal.SuspendOthers ();<br> ptr^ := 99; (* try to get to the debugger... *)<br> Exit (-1);<br> END Crash;<br>Index: src/runtime/common/RTAllocator.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTAllocator.m3,v<br>retrieving revision 1.32<br>diff -u -w -r1.32 RTAllocator.m3<br>--- src/runtime/common/RTAllocator.m3 8 Sep 2009 16:41:37 -0000 1.32<br>+++ src/runtime/common/RTAllocator.m3 13 Sep 2009 13:27:35 -0000<br>@@ -14,7 +14,7 @@<br> UNSAFE MODULE RTAllocator<br> EXPORTS RTAllocator, RTAllocCnts, RTHooks, RTHeapRep;<br> <br>-IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadUnsafe;<br>+IMPORT Cstdlib, RT0, RTMisc, RTOS, RTType, Scheduler, ThreadInternal;<br> IMPORT RuntimeError AS RTE, Word;<br> FROM RTType IMPORT Typecode;<br> <br>@@ -71,7 +71,7 @@<br> VAR<br> hdr: RefHeader; def: RT0.TypeDefn; dataSize: CARDINAL;<br> res: ADDRESS;<br>- thread := ThreadUnsafe.MyHeapState();<br>+ thread := ThreadInternal.MyHeapState();<br> BEGIN<br> IF (ref = NIL) THEN RETURN NIL; END;<br> IF Word.And(LOOPHOLE(ref, Word.T), 1) # 0 THEN RETURN ref; END;<br>@@ -192,7 +192,7 @@<br> PROCEDURE GetTracedRef (def: RT0.TypeDefn): REFANY =<br> VAR<br> res: ADDRESS;<br>- thread := ThreadUnsafe.MyHeapState();<br>+ thread := ThreadInternal.MyHeapState();<br> BEGIN<br> IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Ref) THEN<br> RTE.Raise(RTE.T.ValueOutOfRange);<br>@@ -214,7 +214,7 @@<br> PROCEDURE GetTracedObj (def: RT0.TypeDefn): ROOT =<br> VAR<br> res: ADDRESS;<br>- thread := ThreadUnsafe.MyHeapState();<br>+ thread := ThreadInternal.MyHeapState();<br> BEGIN<br> IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Obj) THEN<br> RTE.Raise(RTE.T.ValueOutOfRange);<br>@@ -283,7 +283,7 @@<br> VAR<br> res: ADDRESS;<br> dataSize: CARDINAL;<br>- thread := ThreadUnsafe.MyHeapState();<br>+ thread := ThreadInternal.MyHeapState();<br> BEGIN<br> IF def.typecode = 0 OR def.traced # 1 OR def.kind # ORD(TK.Array) THEN<br> RTE.Raise(RTE.T.ValueOutOfRange);<br>Index: src/runtime/common/RTCollector.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTCollector.m3,v<br>retrieving revision 1.69<br>diff -u -w -r1.69 RTCollector.m3<br>--- src/runtime/common/RTCollector.m3 13 Sep 2009 04:57:33 -0000 1.69<br>+++ src/runtime/common/RTCollector.m3 13 Sep 2009 13:27:35 -0000<br>@@ -16,7 +16,7 @@<br> <br> IMPORT RT0, RTHeapEvent, RTHeapMap, RTIO, RTMachine;<br> IMPORT RTMisc, RTOS, RTParams, RTPerfTool, RTProcess, RTType;<br>-IMPORT Word, Thread, ThreadF, RuntimeError;<br>+IMPORT Word, Thread, ThreadInternal, RuntimeError;<br> IMPORT TextLiteral AS TextLit, RTLinker, Time;<br> <br> FROM RT0 IMPORT Typecode, TypeDefn;<br>@@ -732,7 +732,7 @@<br> <br> PROCEDURE CollectSomeInStateZero () =<br> BEGIN<br>- ThreadF.SuspendOthers ();<br>+ ThreadInternal.SuspendOthers ();<br> <br> <* ASSERT disableCount + disableMotionCount = 0 *><br> (* compute some costs relative to previous collection *)<br>@@ -806,7 +806,7 @@<br> pages, because we want to make sure that old, impure, dirty<br> pages referenced by threads are marked as ambiguous roots.<br> Otherwise, these pages won't get cleaned before we return. *)<br>- ThreadF.ProcessStacks(NoteStackLocations);<br>+ ThreadInternal.ProcessStacks(NoteStackLocations);<br> (* Now, nothing in previous space is referenced by a thread. *)<br> <br> (* Promote any remaining "old" pages and unprotect everything else *)<br>@@ -886,7 +886,7 @@<br> collectorState := CollectorState.One;<br> IF backgroundWaiting THEN signalBackground := TRUE; END;<br> <br>- ThreadF.ResumeOthers ();<br>+ ThreadInternal.ResumeOthers ();<br> END CollectSomeInStateZero;<br> <br> (* Clean gray nodes *)<br>@@ -1615,9 +1615,9 @@<br> <br> PROCEDURE After (self: MonitorClosure) =<br> BEGIN<br>- ThreadF.SuspendOthers();<br>+ ThreadInternal.SuspendOthers();<br> SanityCheck (self);<br>- ThreadF.ResumeOthers();<br>+ ThreadInternal.ResumeOthers();<br> END After;<br> <br> PROCEDURE SanityCheck (<*UNUSED*> self: MonitorClosure) =<br>@@ -1790,7 +1790,7 @@<br> BEGIN<br> TRY<br> Disable();<br>- ThreadF.SuspendOthers();<br>+ ThreadInternal.SuspendOthers();<br> FOR p := p0 TO p1 - 1 DO<br> IF desc[p - p0] = 0 THEN<br> WITH page = PageToRef(p), d = page.desc DO<br>@@ -1813,7 +1813,7 @@<br> END;<br> END;<br> FINALLY<br>- ThreadF.ResumeOthers();<br>+ ThreadInternal.ResumeOthers();<br> Enable();<br> END;<br> END VisitAllRefs;<br>Index: src/runtime/common/RTHeapStats.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTHeapStats.m3,v<br>retrieving revision 1.6<br>diff -u -w -r1.6 RTHeapStats.m3<br>--- src/runtime/common/RTHeapStats.m3 8 Sep 2009 05:54:55 -0000 1.6<br>+++ src/runtime/common/RTHeapStats.m3 13 Sep 2009 13:27:35 -0000<br>@@ -5,7 +5,7 @@<br> (* Last modified on Fri May 5 08:22:31 PDT 1995 by kalsow *)<br> <br> (* The code below makes the following NASTY assumption:<br>- ThreadF.ProcessStacks calls its argument twice for<br>+ ThreadInternal.ProcessStacks calls its argument twice for<br> each thread -- the first time for the stack, the<br> second time for its registers. *)<br> <br>@@ -13,7 +13,7 @@<br> <br> IMPORT RT0, RTCollector, RTModule, RTIO, RTHeapMap, RTHeapRep, RTMisc;<br> IMPORT RTOS, RTType, RTTypeSRC, RTProcedure, RTProcedureSRC, RTMachine; <br>-IMPORT RTStack, ThreadF, Word, Text;<br>+IMPORT RTStack, ThreadInternal, Word, Text;<br> FROM RTIO IMPORT PutInt, PutAddr, PutText;<br> <br> TYPE<br>@@ -96,7 +96,7 @@<br> (* freeze the world *)<br> RTCollector.Disable ();<br> RTOS.LockHeap (); (* freeze the heap *)<br>- ThreadF.SuspendOthers ();<br>+ ThreadInternal.SuspendOthers ();<br> <br> (* capture the heap limits *)<br> heap_min := LOOPHOLE (RTHeapRep.p0 * RTHeapRep.BytesPerPage, ADDRESS);<br>@@ -146,7 +146,7 @@<br> (* thaw the world *)<br> DISPOSE (visit_stack);<br> DISPOSE (map);<br>- ThreadF.ResumeOthers ();<br>+ ThreadInternal.ResumeOthers ();<br> RTOS.UnlockHeap (); (* unfreeze the heap *)<br> RTCollector.Enable ();<br> END ReportReachable;<br>@@ -282,7 +282,7 @@<br> BEGIN<br> self_id := -1;<br> mark_addr := ADR (i);<br>- ThreadF.ProcessStacks (GetThread);<br>+ ThreadInternal.ProcessStacks (GetThread);<br> RTIO.PutText ("Threads: ");<br> RTIO.PutInt (n_threads);<br> IF (n_threads > NUMBER (threads)) THEN<br>Index: src/runtime/common/RTLinker.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinker.m3,v<br>retrieving revision 1.15<br>diff -u -w -r1.15 RTLinker.m3<br>--- src/runtime/common/RTLinker.m3 8 Sep 2009 05:54:55 -0000 1.15<br>+++ src/runtime/common/RTLinker.m3 13 Sep 2009 13:27:36 -0000<br>@@ -12,7 +12,7 @@<br> <br> IMPORT Cstdlib, Cstring;<br> IMPORT RT0, RTParams, RTDebug, RTHeapRep, RTCollectorSRC;<br>-IMPORT RTTypeSRC, RTSignal, ThreadF, RTHeapInfo, RTLinkerX, <br>+IMPORT RTTypeSRC, RTSignal, ThreadInternal, RTHeapInfo, RTLinkerX, <br> RTIO, Word;<br> <br> VAR<br>@@ -46,7 +46,7 @@<br> AddUnit (RTLinkerX.RTDebug_I3);<br> AddUnit (RTLinkerX.RTError_I3);<br> AddUnit (RTLinkerX.RTHeapRep_I3);<br>- AddUnit (RTLinkerX.ThreadF_I3);<br>+ AddUnit (RTLinkerX.ThreadInternal_I3);<br> AddUnit (RTLinkerX.RTHeapInfo_I3);<br> AddUnit (RTLinkerX.RTIO_I3);<br> AddUnit (RTLinkerX.RTCollectorSRC_I3);<br>@@ -55,7 +55,7 @@<br> (* finally, initialize the runtime. *)<br> RTSignal.InstallHandlers ();<br> RTParams.Init ();<br>- ThreadF.Init ();<br>+ ThreadInternal.Init ();<br> RTHeapRep.Init ();<br> RTDebug.Init ();<br> RTHeapInfo.Init ();<br>Index: src/runtime/common/RTLinkerX.i3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/common/RTLinkerX.i3,v<br>retrieving revision 1.7<br>diff -u -w -r1.7 RTLinkerX.i3<br>--- src/runtime/common/RTLinkerX.i3 7 Apr 2008 17:58:30 -0000 1.7<br>+++ src/runtime/common/RTLinkerX.i3 13 Sep 2009 13:27:36 -0000<br>@@ -46,7 +46,7 @@<br> <*EXTERNAL*> PROCEDURE RTTypeSRC_I3 (mode: INTEGER): RT0.ModulePtr;<br> <*EXTERNAL*> PROCEDURE RTWeakRef_I3 (mode: INTEGER): RT0.ModulePtr;<br> <*EXTERNAL*> PROCEDURE RTutils_I3 (mode: INTEGER): RT0.ModulePtr;<br>-<*EXTERNAL*> PROCEDURE ThreadF_I3 (mode: INTEGER): RT0.ModulePtr;<br>+<*EXTERNAL*> PROCEDURE ThreadInternal_I3 (mode: INTEGER): RT0.ModulePtr;<br> <*EXTERNAL*> PROCEDURE Word_I3 (mode: INTEGER): RT0.ModulePtr;<br> <*EXTERNAL*> PROCEDURE RT0_M3 (mode: INTEGER): RT0.ModulePtr;<br> <*EXTERNAL*> PROCEDURE RTAllocStats_M3 (mode: INTEGER): RT0.ModulePtr;<br>Index: src/runtime/ex_frame/RTExFrame.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3,v<br>retrieving revision 1.5<br>diff -u -w -r1.5 RTExFrame.m3<br>--- src/runtime/ex_frame/RTExFrame.m3 8 Sep 2009 05:54:56 -0000 1.5<br>+++ src/runtime/ex_frame/RTExFrame.m3 13 Sep 2009 13:27:36 -0000<br>@@ -4,7 +4,7 @@<br> <br> UNSAFE MODULE RTExFrame EXPORTS RTException, RTExFrame;<br> <br>-IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadF;<br>+IMPORT RT0, RTError, RTIO, RTParams, RTOS, ThreadInternal;<br> IMPORT Thread, Csetjmp;<br> <br> VAR<br>@@ -16,7 +16,7 @@<br> <br> PROCEDURE Raise (VAR act: RT0.RaiseActivation) RAISES ANY =<br> VAR<br>- f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> ex: ExceptionList;<br> BEGIN<br> IF DEBUG THEN<br>@@ -67,7 +67,7 @@<br> <br> PROCEDURE ResumeRaise (VAR a: RT0.RaiseActivation) RAISES ANY =<br> VAR<br>- f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> ex: ExceptionList;<br> BEGIN<br> IF DEBUG THEN<br>@@ -99,7 +99,7 @@<br> BadStack ();<br> END;<br> <br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> f := f.next; (* try the previous frame *)<br> END;<br> END ResumeRaise;<br>@@ -114,7 +114,7 @@<br> RTIO.PutText ("\n");<br> RTIO.Flush ();<br> END;<br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> p.info := a; (* copy the exception to the new frame *)<br> Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *)<br> RAISE OUCH;<br>@@ -138,7 +138,7 @@<br> cl.proc := p.handler;<br> cl.frame := p.frame;<br> <br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> CallProc (LOOPHOLE (ADR (cl), FinallyProc), a);<br> END InvokeFinallyHandler;<br> <br>@@ -159,7 +159,7 @@<br> RTIO.PutText ("\n");<br> RTIO.Flush ();<br> END;<br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> Thread.Release (p.mutex); (* and release the lock *)<br> END ReleaseLock;<br> <br>@@ -173,7 +173,7 @@<br> PROCEDURE SanityCheck () =<br> CONST Min_SK = ORD (FIRST (ScopeKind));<br> CONST Max_SK = ORD (LAST (ScopeKind));<br>- VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> VAR i: INTEGER;<br> BEGIN<br> WHILE (f # NIL) DO<br>@@ -184,7 +184,7 @@<br> END SanityCheck;<br> <br> PROCEDURE DumpStack () =<br>- VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> BEGIN<br> IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END;<br> <br>Index: src/runtime/ex_frame/RTException.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/runtime/ex_frame/RTException.m3,v<br>retrieving revision 1.1.1.1<br>diff -u -w -r1.1.1.1 RTException.m3<br>--- src/runtime/ex_frame/RTException.m3 24 Jan 2001 12:24:27 -0000 1.1.1.1<br>+++ src/runtime/ex_frame/RTException.m3 13 Sep 2009 13:27:36 -0000<br>@@ -8,7 +8,7 @@<br> UNSAFE MODULE RTException EXPORTS RTException, RTExRep;<br> <br> IMPORT RT0, RTMisc, RTIO, RTParams, RTOS;<br>-IMPORT Thread, ThreadF, M3toC, Ctypes, Csetjmp;<br>+IMPORT Thread, ThreadInternal, M3toC, Ctypes, Csetjmp;<br> <br> VAR<br> DEBUG := FALSE;<br>@@ -22,7 +22,7 @@<br> <br> PROCEDURE Raise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY =<br> VAR<br>- f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> ex: ExceptionList;<br> BEGIN<br> IF DEBUG THEN<br>@@ -69,7 +69,7 @@<br> <br> PROCEDURE ResumeRaise (en: ExceptionPtr; arg: ExceptionArg) RAISES ANY =<br> VAR<br>- f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> ex: ExceptionList;<br> BEGIN<br> IF DEBUG THEN<br>@@ -101,7 +101,7 @@<br> BadStack ();<br> END;<br> <br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> f := f.next; (* try the previous frame *)<br> END;<br> END ResumeRaise;<br>@@ -117,7 +117,7 @@<br> RTIO.PutText ("\n");<br> RTIO.Flush ();<br> END;<br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> p.exception := en; (* record the exception *)<br> p.arg := arg; (* and it argument *)<br> Csetjmp.ulongjmp (p.jmpbuf, 1); (* and jump... *)<br>@@ -143,7 +143,7 @@<br> cl.proc := p.handler;<br> cl.frame := p.frame;<br> <br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> CallProc (LOOPHOLE (ADR (cl), FinallyProc));<br> END InvokeFinallyHandler;<br> <br>@@ -164,7 +164,7 @@<br> RTIO.PutText ("\n");<br> RTIO.Flush ();<br> END;<br>- ThreadF.SetCurrentHandlers (f.next); (* cut to the new handler *)<br>+ ThreadInternal.SetCurrentHandlers (f.next); (* cut to the new handler *)<br> Thread.Release (p.mutex); (* and release the lock *)<br> END ReleaseLock;<br> <br>@@ -188,7 +188,7 @@<br> PROCEDURE SanityCheck () =<br> CONST Min_SK = ORD (FIRST (ScopeKind));<br> CONST Max_SK = ORD (LAST (ScopeKind));<br>- VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> VAR i: INTEGER;<br> BEGIN<br> WHILE (f # NIL) DO<br>@@ -199,7 +199,7 @@<br> END SanityCheck;<br> <br> PROCEDURE DumpStack () =<br>- VAR f := LOOPHOLE(ThreadF.GetCurrentHandlers(), Frame);<br>+ VAR f := LOOPHOLE(ThreadInternal.GetCurrentHandlers(), Frame);<br> BEGIN<br> IF NOT DEBUG AND NOT dump_enabled THEN RETURN; END;<br> <br>Index: src/thread/Common/m3makefile<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/Common/m3makefile,v<br>retrieving revision 1.7<br>diff -u -w -r1.7 m3makefile<br>--- src/thread/Common/m3makefile 8 Sep 2009 16:41:37 -0000 1.7<br>+++ src/thread/Common/m3makefile 13 Sep 2009 13:27:36 -0000<br>@@ -8,10 +8,11 @@<br> % modified on Tue Feb 11 15:07:32 PST 1992 by muller<br> <br> Interface ("Thread")<br>+Interface ("ThreadF")<br> Interface ("Scheduler")<br> if equal (OS_TYPE, "POSIX")<br> Interface ("SchedulerPosix")<br> end<br> Interface ("MutexRep")<br> Interface ("ThreadEvent")<br>-interface ("ThreadUnsafe")<br>+interface ("ThreadInternal")<br>Index: src/thread/POSIX/ThreadPosix.i3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.i3,v<br>retrieving revision 1.7<br>diff -u -w -r1.7 ThreadPosix.i3<br>--- src/thread/POSIX/ThreadPosix.i3 29 Jun 2009 19:20:47 -0000 1.7<br>+++ src/thread/POSIX/ThreadPosix.i3 13 Sep 2009 13:27:36 -0000<br>@@ -20,7 +20,7 @@<br> <br> <*EXTERNAL ThreadPosix__InitC*><br> PROCEDURE InitC();<br>-(* There is already ThreadF.Init exported by the same module that exports this<br>+(* There is already ThreadInternal.Init exported by the same module that exports this<br> interface, so we chose an arbitrary different name here. *)<br> <br> END ThreadPosix.<br>Index: src/thread/POSIX/ThreadPosix.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/ThreadPosix.m3,v<br>retrieving revision 1.45<br>diff -u -w -r1.45 ThreadPosix.m3<br>--- src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:08:00 -0000 1.45<br>+++ src/thread/POSIX/ThreadPosix.m3 13 Sep 2009 13:27:36 -0000<br>@@ -10,7 +10,7 @@<br> (*| modified On Mon Apr 5 14:51:30 PDT 1993 by muller *)<br> (*| modified on Mon Feb 22 10:08:49 PST 1993 by jdd *)<br> <br>-UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadUnsafe,<br>+UNSAFE MODULE ThreadPosix EXPORTS Thread, ThreadF, ThreadInternal,<br> Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPosix;<br> <br> IMPORT Cerrno, Cstring, FloatMode, MutexRep, RTHeapRep, RTCollectorSRC,<br>@@ -1461,7 +1461,7 @@<br> perfOn := RTPerfTool.Send (perfW, ADR (e), EventSize);<br> END PerfRunning;<br> <br>-(*--------------------------------------------------------- ThreadF hooks ---*)<br>+(*--------------------------------------------------------- ThreadInternal hooks ---*)<br> <br> VAR<br> hooks: Hooks := NIL;<br>@@ -1485,6 +1485,8 @@<br> RETURN oldHooks;<br> END RegisterHooks;<br> <br>+(*--------------------------------------------------------- ThreadF ---*)<br>+<br> PROCEDURE MyId(): Id RAISES {}=<br> BEGIN<br> RETURN self.id;<br>Index: src/thread/POSIX/m3makefile<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/POSIX/m3makefile,v<br>retrieving revision 1.6<br>diff -u -w -r1.6 m3makefile<br>--- src/thread/POSIX/m3makefile 22 Mar 2009 09:43:13 -0000 1.6<br>+++ src/thread/POSIX/m3makefile 13 Sep 2009 13:27:36 -0000<br>@@ -7,7 +7,6 @@<br> % modified on Tue May 4 10:18:56 PDT 1993 by mjordan<br> % modified on Tue Feb 11 15:07:32 PST 1992 by muller<br> <br>-Interface ("ThreadF")<br> module ("ThreadPosix")<br> c_source ("ThreadPosixC")<br> h_source ("ThreadPosix")<br>Index: src/thread/PTHREAD/ThreadPThread.m3<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.m3,v<br>retrieving revision 1.139<br>diff -u -w -r1.139 ThreadPThread.m3<br>--- src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:08:01 -0000 1.139<br>+++ src/thread/PTHREAD/ThreadPThread.m3 13 Sep 2009 13:27:36 -0000<br>@@ -2,7 +2,7 @@<br> (* All rights reserved. *)<br> (* See the file COPYRIGHT-PURDUE for a full description. *)<br> <br>-UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadUnsafe,<br>+UNSAFE MODULE ThreadPThread EXPORTS Thread, ThreadF, ThreadInternal,<br> Scheduler, SchedulerPosix, RTOS, RTHooks, ThreadPThread;<br> <br> IMPORT Cerrno, FloatMode, MutexRep,<br>@@ -1316,7 +1316,6 @@<br> <br> VAR<br> perfW : RTPerfTool.Handle;<br>- perfOn: BOOLEAN := FALSE; (* LL = perfMu *)<br> <br> PROCEDURE PerfStart () =<br> BEGIN<br>Index: src/thread/PTHREAD/m3makefile<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/PTHREAD/m3makefile,v<br>retrieving revision 1.13<br>diff -u -w -r1.13 m3makefile<br>--- src/thread/PTHREAD/m3makefile 29 Apr 2009 21:01:14 -0000 1.13<br>+++ src/thread/PTHREAD/m3makefile 13 Sep 2009 13:27:36 -0000<br>@@ -7,6 +7,5 @@<br> % modified on Tue May 4 10:18:56 PDT 1993 by mjordan<br> % modified on Tue Feb 11 15:07:32 PST 1992 by muller<br> <br>-Interface ("ThreadF")<br> module ("ThreadPThread")<br> c_source ("ThreadPThreadC")<br>Index: src/thread/WIN32/m3makefile<br>===================================================================<br>RCS file: /usr/cvs/cm3/m3-libs/m3core/src/thread/WIN32/m3makefile,v<br>retrieving revision 1.13<br>diff -u -w -r1.13 m3makefile<br>--- src/thread/WIN32/m3makefile 21 Apr 2009 11:02:11 -0000 1.13<br>+++ src/thread/WIN32/m3makefile 13 Sep 2009 13:27:36 -0000<br>@@ -2,7 +2,6 @@<br> % All rights reserved.<br> % See the file COPYRIGHT for a full description.<br> <br>-Interface ("ThreadF")<br> Interface ("ThreadContext")<br> module ("ThreadWin32")<br> interface("ThreadInternal")<br><br><br><br><br><br><br><br>> Date: Sun, 13 Sep 2009 15:36:43 +0000<br>> To: m3commit@elegosoft.com<br>> From: jkrell@elego.de<br>> Subject: [M3commit] CVS Update: cm3<br>> <br>> CVSROOT: /usr/cvs<br>> Changes by: jkrell@birch. 09/09/13 15:36:43<br>> <br>> Modified files:<br>> cm3/m3-libs/m3core/src/float/DS3100/: FloatMode.m3 <br>> cm3/m3-libs/m3core/src/float/IRIX5/: FloatMode.m3 <br>> cm3/m3-libs/m3core/src/float/VAX/: FloatMode.m3 <br>> cm3/m3-libs/m3core/src/runtime/NT386/: RTSignal.m3 <br>> cm3/m3-libs/m3core/src/runtime/WIN32/: RTOS.m3 <br>> cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 <br>> RTCollector.m3 <br>> RTHeapStats.m3 <br>> RTLinker.m3 RTLinkerX.i3 <br>> cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 <br>> RTException.m3 <br>> cm3/m3-libs/m3core/src/thread/Common/: m3makefile <br>> cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.i3 <br>> ThreadPosix.m3 m3makefile <br>> cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 <br>> m3makefile <br>> cm3/m3-libs/m3core/src/thread/WIN32/: m3makefile <br>> Added files:<br>> cm3/m3-libs/m3core/src/thread/Common/: ThreadF.i3 <br>> ThreadInternal.i3 <br>> Removed files:<br>> cm3/m3-libs/m3core/src/thread/Common/: ThreadUnsafe.i3 <br>> cm3/m3-libs/m3core/src/thread/WIN32/: ThreadInternal.i3 <br>> <br>> Log message:<br>> move ThreadUnsafe.i3 to ThreadInternal.i3<br>> move most of ThreadF.i3 to ThreadInternal.i3<br>> ThreadF is safe and public, and small.<br>> ThreadInternal is not safe nor public.<br>> As well between ThreadF.i3 and ThreadInternal.i3 we need only have one common copy.<br>> Three ThreadF.i3s replaced by one.<br>> A ThreadInternal.i3 and ThreadUnsafe.i3 replaced by one ThreadInternal.i3.<br>> ThreadF.i3 is entirely shared.<br>> ThreadInternal.i3 exposes a little extra that is present in all three but only<br>> needs to be exposed for Win32 (and then, only if Cygwin uses Win32 threads).<br>> <br>> (deletes deferred because of CVS wierdness)<br>> <br></body>
</html>