[squeak-dev] The Inbox: Tools-ul.518.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Feb 3 17:40:10 UTC 2014


A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-ul.518.mcz

==================== Summary ====================

Name: Tools-ul.518
Author: ul
Time: 3 February 2014, 6:32:58.482 pm
UUID: 83289b35-b273-47cd-a97c-7a189fb0178e
Ancestors: Tools-topa.517

PointerFinder >> #follow:from: works for weak objects with named slots. It also uses safe checks instead of #isLiteral to cut the object graph. Removed the now unused Object >> #shouldFollowOutboundPointers

=============== Diff against Tools-topa.517 ===============

Item was removed:
- ----- Method: Object>>shouldFollowOutboundPointers (in category '*Tools-Debugger') -----
- shouldFollowOutboundPointers
- 	(self class isPointers or: [ self isCompiledMethod ]) ifFalse: [ ^ false ].
- 	^ self class isWeak not and: [ self isLiteral not ]!

Item was changed:
  ----- Method: PointerFinder>>follow:from: (in category 'application') -----
+ follow: anObject from: parentObject
+ 
+ 	| class |
- follow: anObject from: parentObject 
  	anObject == goal ifTrue:
  		[ parents
  			at: anObject
  			put: parentObject.
  		^ true ].
+ 	class := anObject class.
+ 	(class isPointers or: [ anObject isCompiledMethod ]) ifFalse: [ ^false ].
+ 	class isWeak
+ 		ifTrue: [ class instSize = 0 ifTrue: [ ^false ] ]
+ 		ifFalse: [
+ 			(class instSize = 0 and: [
+ 				class isVariable not or: [ 
+ 					anObject basicSize = 0 ] ]) ifTrue: [ ^false ] ].
+ 	((parents includesKey: anObject) or: [ class = self class ]) ifTrue: [ ^ false ].
- 	anObject shouldFollowOutboundPointers ifFalse: [ ^ false ].
- 	((parents includesKey: anObject) or: [ anObject class = self class ]) ifTrue: [ ^ false ].
  	parents
  		at: anObject
  		put: parentObject.
  	toDoNext add: anObject.
  	^ false!



More information about the Squeak-dev mailing list