@@ -8159,36 +8159,33 @@ SpurMemoryManager >> markAllUnscannedEphemerons [
81598159
81608160{ #category : #'gc - global' }
81618161SpurMemoryManager >> markAndShouldScan: objOop [
8162+
81628163 " Helper for markAndTrace: .
81638164 Mark the argument, and answer if its fields should be scanned now.
81648165 Immediate objects don' t need to be marked.
81658166 Already marked objects have already been processed.
81668167 Pure bits objects don' t need scanning, although their class does.
81678168 Weak objects should be pushed on the weakling stack.
81688169 Anything else need scanning."
8169- | format |
8170+
81708171 <inline: true>
8171- (self isImmediate: objOop) ifTrue:
8172- [^ false].
8172+ | format |
8173+ (self isImmediate: objOop) ifTrue: [ ^ false ].
81738174 " if markAndTrace: is to follow and eliminate forwarding pointers
81748175 in its scan it cannot be handed an r- value which is forwarded."
81758176 self assert: (self isForwarded: objOop) not.
8176- (self isMarked: objOop) ifTrue:
8177- [^false].
8177+ (self isMarked: objOop) ifTrue: [ ^ false ].
81788178 self setIsMarkedOf: objOop to: true.
81798179 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+ format = self weakArrayFormat ifTrue: [ " push weaklings on the weakling stack to scan later"
8185+ self push: objOop onObjStack: weaklingStack.
8186+ ^ false ].
8187+ true ifTrue: [ ^ false ].
8188+ ^ true
81928189]
81938190
81948191{ #category : #'gc - global' }
0 commit comments