The Trunk: Kernel-eem.1108.mcz

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

The Trunk: Kernel-eem.1108.mcz

commits-2
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1108.mcz

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

Name: Kernel-eem.1108
Author: eem
Time: 23 June 2017, 11:35:28.572002 am
UUID: dd3439ca-404b-4d0d-bb11-529ed86a96eb
Ancestors: Kernel-nice.1107

Implement messagesDo: using ifAbsentAdd:

=============== Diff against Kernel-nice.1107 ===============

Item was changed:
  ----- Method: CompiledMethod>>messagesDo: (in category 'scanning') -----
  messagesDo: aBlock
  "Evaluate aBlock exactly once with all the message selectors sent by me."
 
  | scanner aSet |
  self isQuick ifTrue: [ ^self ].
- aSet := nil.
  scanner := InstructionStream on: self.
  scanner scanFor: [ :x |
  | selector |
  (selector := scanner selectorToSendOrSelf) == scanner ifFalse: [
+ ((aSet ifNil: [ aSet := IdentitySet new ]) ifAbsentAdd: selector) ifTrue: [
- ((aSet ifNil: [ aSet := IdentitySet new ]) addNewElement: selector) ifTrue: [
  aBlock value: selector ] ].
  false "keep scanning" ]!