Skip to content

Commit

Permalink
Restoring signalFinalization: of weak objects for backwards compatibi…
Browse files Browse the repository at this point in the history
…lity
  • Loading branch information
guillep committed Jan 23, 2023
1 parent 1092645 commit 621ecf4
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions smalltalksrc/VMMaker/SpurMemoryManager.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -8935,8 +8935,13 @@ SpurMemoryManager >> nilUnmarkedWeaklingSlots [
<inline: #never>
self eassert: [ self allOldMarkedWeakObjectsOnWeaklingStack ].
weaklingStack = nilObj ifTrue: [ ^ self ].
self objStack: weaklingStack from: 0 do: [ :weakling |
self nilUnmarkedWeaklingSlotsIn: weakling ].
self objStack: weaklingStack from: 0 do: [ :weakling | | anyUnmarked |
anyUnmarked := self nilUnmarkedWeaklingSlotsIn: weakling.
anyUnmarked ifTrue:
["fireFinalization: could grow the mournQueue and if so,
additional pages must be marked to avoid being GC'ed."
self assert: marking.
coInterpreter signalFinalization: weakling]].
self emptyObjStack: weaklingStack
]

Expand Down

0 comments on commit 621ecf4

Please sign in to comment.