@@ -8456,30 +8456,34 @@ SpurMemoryManager >> markStack: anOop [
84568456
84578457{ #category : #'gc - global' }
84588458SpurMemoryManager >> markWeaklingsAndMarkAndFireEphemerons [
8459+
84598460 " After the initial scan- mark is complete ephemerons can be processed.
84608461 Weaklings have accumulated on the weaklingStack, but more may be
84618462 uncovered during ephemeron processing. So trace the strong slots
84628463 of the weaklings, and as ephemerons are processed ensure any newly
84638464 reached weaklings are also traced."
8464- | numTracedWeaklings |
8465+
84658466 <inline: false>
8467+ | numTracedWeaklings |
84668468 numTracedWeaklings := 0.
8467- [coInterpreter markAndTraceUntracedReachableStackPages.
8468- coInterpreter markAndTraceMachineCodeOfMarkedMethods.
8469- " Make sure all reached weaklings have their strong slots traced before firing ephemerons..."
8470- [numTracedWeaklings := self markAndTraceWeaklingsFrom: numTracedWeaklings.
8471- (self sizeOfObjStack: weaklingStack) > numTracedWeaklings] whileTrue.
8472- self noUnscannedEphemerons ifTrue:
8473- [coInterpreter
8469+ [
8470+ coInterpreter markAndTraceUntracedReachableStackPages.
8471+ coInterpreter markAndTraceMachineCodeOfMarkedMethods.
8472+ " Make sure all reached weaklings have their strong slots traced before firing ephemerons..."
8473+ [
8474+ numTracedWeaklings := self markAndTraceWeaklingsFrom:
8475+ numTracedWeaklings.
8476+ (self sizeOfObjStack: weaklingStack) > numTracedWeaklings ] whileTrue.
8477+ true ifTrue: [
8478+ coInterpreter
84748479 markAndTraceUntracedReachableStackPages;
8475- markAndTraceMachineCodeOfMarkedMethods;
8480+ markAndTraceMachineCodeOfMarkedMethods;
84768481 freeUntracedStackPages;
84778482 freeUnmarkedMachineCode.
8478- ^self].
8479- self markInactiveEphemerons ifFalse:
8480- [self fireAllUnscannedEphemerons].
8481- self markAllUnscannedEphemerons]
8482- repeat
8483+ ^ self ].
8484+ self markInactiveEphemerons ifFalse: [
8485+ self fireAllUnscannedEphemerons ].
8486+ self markAllUnscannedEphemerons ] repeat
84838487]
84848488
84858489{ #category : #'header format' }
0 commit comments