@@ -8456,34 +8456,30 @@ SpurMemoryManager >> markStack: anOop [
84568456
84578457{ #category : #'gc - global' }
84588458SpurMemoryManager >> markWeaklingsAndMarkAndFireEphemerons [
8459-
84608459 " After the initial scan- mark is complete ephemerons can be processed.
84618460 Weaklings have accumulated on the weaklingStack, but more may be
84628461 uncovered during ephemeron processing. So trace the strong slots
84638462 of the weaklings, and as ephemerons are processed ensure any newly
84648463 reached weaklings are also traced."
8465-
8466- <inline: false>
84678464 | numTracedWeaklings |
8465+ <inline: false>
84688466 numTracedWeaklings := 0.
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
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
84798474 markAndTraceUntracedReachableStackPages;
8480- markAndTraceMachineCodeOfMarkedMethods;
8475+ markAndTraceMachineCodeOfMarkedMethods;
84818476 freeUntracedStackPages;
84828477 freeUnmarkedMachineCode.
8483- ^ self ].
8484- self markInactiveEphemerons ifFalse: [
8485- self fireAllUnscannedEphemerons ].
8486- self markAllUnscannedEphemerons ] repeat
8478+ ^self].
8479+ self markInactiveEphemerons ifFalse:
8480+ [self fireAllUnscannedEphemerons].
8481+ self markAllUnscannedEphemerons]
8482+ repeat
84878483]
84888484
84898485{ #category : #'header format' }
0 commit comments