[squeak-dev] The Trunk: System-mt.1075.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jul 24 09:19:04 UTC 2019


Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1075.mcz

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

Name: System-mt.1075
Author: mt
Time: 24 July 2019, 11:18:57.127109 am
UUID: 6b2a8705-b2bc-46c3-8dea-34873ae97d6e
Ancestors: System-mt.1074

Speed up search for senders based on Compiler-mt.405 and Kernel-mt.1249.

=============== Diff against System-mt.1074 ===============

Item was changed:
  ----- Method: SystemNavigation>>allCallsOn:fromBehaviors:sorted: (in category 'query') -----
  allCallsOn: aLiteral fromBehaviors: behaviors sorted: sorted
  	"Answer a collection of all the methods implemented by behaviors that call on aLiteral even deeply embedded in literal arrays."
  	
+ 	| result canBeSpecial |
- 	| result |
  	result := OrderedCollection new.
+ 	canBeSpecial := BytecodeEncoder canBeSpecialLiteral: aLiteral.
  	behaviors do: [:behavior |
  		behavior selectorsAndMethodsDo: [:selector :method |
+ 			(method hasLiteral: aLiteral scanForSpecial: canBeSpecial)
- 			(method hasLiteral: aLiteral)
  				ifTrue: [result addLast: method methodReference]]].
  	sorted ifTrue: [result sort].
  	^result!

Item was changed:
  ----- Method: SystemNavigation>>allCallsOn:fromMethodReferences:sorted: (in category 'query') -----
  allCallsOn: aLiteral fromMethodReferences: methodReferences sorted: sorted
  	"Answer a collection of all the methods implemented by behaviors that call on aLiteral even deeply embedded in literal arrays."
  	
+ 	| result canBeSpecial |
+ 	canBeSpecial := BytecodeEncoder canBeSpecialLiteral: aLiteral.
- 	| result |
  	result := methodReferences select: [:reference |
  		reference compiledMethod
  			ifNil: [false]
+ 			ifNotNil: [:method | method hasLiteral: aLiteral scanForSpecial: canBeSpecial]].
- 			ifNotNil: [:method | method hasLiteral: aLiteral]].
  	sorted ifTrue: [result sort].
  	^result!



More information about the Squeak-dev mailing list