@@ -8159,36 +8159,34 @@ SpurMemoryManager >> markAllUnscannedEphemerons [
8159
8159
8160
8160
{ #category : #'gc - global' }
8161
8161
SpurMemoryManager >> markAndShouldScan: objOop [
8162
+
8162
8163
" Helper for markAndTrace: .
8163
8164
Mark the argument, and answer if its fields should be scanned now.
8164
8165
Immediate objects don' t need to be marked.
8165
8166
Already marked objects have already been processed.
8166
8167
Pure bits objects don' t need scanning, although their class does.
8167
8168
Weak objects should be pushed on the weakling stack.
8168
8169
Anything else need scanning."
8169
- | format |
8170
+
8170
8171
<inline: true>
8171
- (self isImmediate: objOop) ifTrue:
8172
- [^ false].
8172
+ | format |
8173
+ (self isImmediate: objOop) ifTrue: [ ^ false ].
8173
8174
" if markAndTrace: is to follow and eliminate forwarding pointers
8174
8175
in its scan it cannot be handed an r- value which is forwarded."
8175
8176
self assert: (self isForwarded: objOop) not.
8176
- (self isMarked: objOop) ifTrue:
8177
- [^false].
8177
+ (self isMarked: objOop) ifTrue: [ ^ false ].
8178
8178
self setIsMarkedOf: objOop to: true.
8179
8179
format := self formatOf: objOop.
8180
- (self isPureBitsFormat: format) ifTrue: " avoid pushing non- pointer objects on the markStack."
8181
- [" Avoid tracing classes of non- objects on the heap, e.g. IRC caches, Sista counters."
8182
- (self classIndexOf: objOop) > self lastClassIndexPun ifTrue:
8183
- [self markAndTraceClassOf: objOop].
8184
- ^false].
8185
- format = self weakArrayFormat ifTrue: " push weaklings on the weakling stack to scan later"
8186
- [self push: objOop onObjStack: weaklingStack.
8187
- ^false].
8188
- (format = self ephemeronFormat
8189
- and: [self activeAndDeferredScan: objOop]) ifTrue:
8190
- [^false].
8191
- ^true
8180
+ (self isPureBitsFormat: format) ifTrue: [ " Avoid tracing classes of non- objects on the heap, e.g. IRC caches, Sista counters." " avoid pushing non- pointer objects on the markStack."
8181
+ (self classIndexOf: objOop) > self lastClassIndexPun ifTrue: [
8182
+ self markAndTraceClassOf: objOop ].
8183
+ ^ false ].
8184
+ false ifTrue: [ " push weaklings on the weakling stack to scan later"
8185
+ self push: objOop onObjStack: weaklingStack.
8186
+ ^ false ].
8187
+ (format = self ephemeronFormat and: [
8188
+ self activeAndDeferredScan: objOop ]) ifTrue: [ ^ false ].
8189
+ ^ true
8192
8190
]
8193
8191
8194
8192
{ #category : #'gc - global' }
0 commit comments