The Trunk: System-mt.1075.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-mt.1075.mcz

commits-2
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!