Skip to content

Commit 034e704

Browse files
committed
Mutant pharo-project#565, Reverting [ Replace #ifTrue: receiver with true ] on method [ markWeaklingsAndMarkAndFireEphemerons ] KILLED by 1/10 test cases.
1 parent d795dda commit 034e704

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

smalltalksrc/VMMaker/SpurMemoryManager.class.st

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8456,34 +8456,30 @@ SpurMemoryManager >> markStack: anOop [
84568456
84578457
{ #category : #'gc - global' }
84588458
SpurMemoryManager >> 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

Comments
 (0)