[squeak-dev] The Trunk: Tools-ul.281.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Nov 23 12:47:40 UTC 2010


Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.281.mcz

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

Name: Tools-ul.281
Author: ul
Time: 23 November 2010, 1:37:02.237 pm
UUID: 30464fa6-e09b-764a-a157-57bc3f46560d
Ancestors: Tools-ul.280

- replaced the PointerFinder >> #isLiteral hack by a direct class check, also reordered the checks in #follow:from:, so cheaper and common ones are performed first.

=============== Diff against Tools-ul.280 ===============

Item was changed:
  ----- Method: PointerFinder>>follow:from: (in category 'application') -----
  follow: anObject from: parentObject
+ 
+ 	anObject == goal ifTrue: [
+ 		parents at: anObject put: parentObject.
+ 		^ true].
- 	anObject == goal
- 		ifTrue: 
- 			[parents at: anObject put: parentObject.
- 			^ true].
- 	anObject isLiteral ifTrue: [^ false].
  	"Remove this after switching to new CompiledMethod format --bf 2/12/2006"
+ 	(anObject class isPointers or: [ anObject isCompiledMethod ]) ifFalse: [ ^false].
+ 	(anObject class isWeak or: [
+ 		anObject class == self class or: [
+ 		anObject isLiteral or: [
+ 		parents includesKey: anObject ] ] ])
+ 			ifTrue: [ ^false ].
- 	(anObject class isPointers or: [anObject isCompiledMethod]) ifFalse: [^ false].
- 	anObject class isWeak ifTrue: [^ false].
- 	(parents includesKey: anObject)
- 		ifTrue: [^ false].
  	parents at: anObject put: parentObject.
  	toDoNext add: anObject.
  	^ false!

Item was removed:
- ----- Method: PointerFinder>>isLiteral (in category 'application') -----
- isLiteral
- 	"Horrible hack to omit other Pointer Finders from scanning."
- 
- 	^ true!




More information about the Squeak-dev mailing list