[Pkg] 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 Packages
mailing list