--- RTCollector.m3 2009-05-24 14:56:43.510632700 -0700 +++ RTCollector.m3.mine1 2009-05-24 15:00:25.323132700 -0700 @@ -687,12 +687,11 @@ IF impureCopy.page # NIL THEN <*ASSERT impureCopy.page.desc.gray*> END; - END CollectorOn; + END CollectorOnWithoutTimeKeeping; PROCEDURE CollectorOn (VAR timeOnEntry: Time.T) = (* LL >= RTOS.LockHeap *) BEGIN - <* ASSERT NOT collectorOn *> CollectorOnWithoutTimeKeeping(); timeOnEntry := Time.Now(); END CollectorOn; @@ -713,16 +712,14 @@ signalWeak := FALSE; RTOS.BroadcastHeap(); END; - END CollectorOff; + END CollectorOffWithoutTimeKeeping; PROCEDURE CollectorOff (VAR timeOnEntry: Time.T; allocator := FALSE) = (* LL >= RTOS.LockHeap *) VAR timeOnExit := Time.Now(); BEGIN <* ASSERT collectorOn *> - CollectorOffWithoutTimeKeeping(); - cycleCost := cycleCost + (timeOnExit - timeOnEntry); IF allocator AND tsIndex >= 0 THEN tStamps[tsIndex] := timeOnEntry; INC(tsIndex); @@ -2259,7 +2256,6 @@ to heap state. *) VAR p := Word.RightShift (LOOPHOLE(ref, Word.T), LogBytesPerPage); - t0: Time.T; thread := ThreadF.MyHeapState(); BEGIN INC(checkLoadTracedRef); (* race, so only approximate *)