[squeak-dev] The Trunk: Kernel-eem.865.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Aug 6 04:51:22 UTC 2014


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

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

Name: Kernel-eem.865
Author: eem
Time: 5 August 2014, 9:50:02.857 pm
UUID: ca62a3f4-4a2a-48ec-84a8-1b2499e05eae
Ancestors: Kernel-eem.864

Make selectorToSendOrSelf multiple bytecode sets aware

=============== Diff against Kernel-eem.864 ===============

Item was changed:
  ----- Method: InstructionStream>>selectorToSendOrSelf (in category 'scanning') -----
  selectorToSendOrSelf
  	"If this instruction is a send, answer the selector, otherwise answer self."
  
+ 	| method |
+ 	method := self method.
+ 	^method encoderClass selectorToSendOrItselfFor: self in: method at: pc!
- 	| byte byte2 |
- 	byte := self method at: pc.
- 	byte < 131 ifTrue: [^self].
- 	byte >= 176
- 		ifTrue: 
- 			["special byte or short send"
- 			byte >= 208
- 				ifTrue: [^self method literalAt: (byte bitAnd: 15) + 1]
- 				ifFalse: [^Smalltalk specialSelectorAt: byte - 176 + 1]]
- 		ifFalse: 
- 			[byte <= 134 ifTrue: 
- 				[byte2 := self method at: pc + 1.
- 				 byte = 131 ifTrue: [^self method literalAt: byte2 \\ 32 + 1].
- 				 byte = 132 ifTrue: [byte2 < 64 ifTrue: [^self method literalAt: (self method at: pc + 2) + 1]].
- 				 byte = 133 ifTrue: [^self method literalAt: byte2 \\ 32 + 1].
- 				 byte = 134 ifTrue: [^self method literalAt: byte2 \\ 64 + 1]]]!



More information about the Squeak-dev mailing list