[Vm-dev] VM Maker: BytecodeSets.spur-eem.18.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Mar 24 23:43:30 UTC 2015
Eliot Miranda uploaded a new version of BytecodeSets to project VM Maker:
http://source.squeak.org/VMMaker/BytecodeSets.spur-eem.18.mcz
==================== Summary ====================
Name: BytecodeSets.spur-eem.18
Author: eem
Time: 24 March 2015, 4:43:23.231 pm
UUID: 1287c831-727a-4998-b103-7fba13097ae1
Ancestors: BytecodeSets.spur-cb.17
Provide some missing sizers for Newspeak V4 bytecodes.
Fix EncoderForNewsqueakV4>>isSpecialLiteralForPush:
and add EncoderForV3>>isSpecialLiteralForPush:,
now used by MethodMassage.
=============== Diff against BytecodeSets.spur-cb.17 ===============
Item was added:
+ ----- Method: BytecodeEncoder>>sizeSendAbsentDynamicSuperclass:numArgs: (in category '*BytecodeSets-opcode sizing') -----
+ sizeSendAbsentDynamicSuperclass: selectorLiteralIndex numArgs: numArgs
+ ^self sizeOpcodeSelector: #genSendAbsentDynamicSuper:numArgs: withArguments: {selectorLiteralIndex. numArgs}!
Item was added:
+ ----- Method: BytecodeEncoder>>sizeSendAbsentImplicit:numArgs: (in category '*BytecodeSets-opcode sizing') -----
+ sizeSendAbsentImplicit: selectorLiteralIndex numArgs: numArgs
+ ^self sizeOpcodeSelector: #genSendAbsentImplicit:numArgs: withArguments: {selectorLiteralIndex. numArgs}!
Item was added:
+ ----- Method: BytecodeEncoder>>sizeSendImplicit:numArgs: (in category '*BytecodeSets-opcode sizing') -----
+ sizeSendImplicit: selectorLiteralIndex numArgs: numArgs
+ ^self sizeOpcodeSelector: #genSendImplicit:numArgs: withArguments: {selectorLiteralIndex. numArgs}!
Item was changed:
----- Method: EncoderForNewsqueakV4>>isSpecialLiteralForPush: (in category 'special literal encodings') -----
isSpecialLiteralForPush: literal
^literal == false
+ or: [literal == true
+ or: [literal == nil
+ or: [literal isInteger and: [literal between: -32768 and: 32767]]]]!
- or: [literal == #nil
- or: [literal isInteger and: [literal between: -32768 and: 32767]]]!
Item was added:
+ ----- Method: EncoderForV3>>isSpecialLiteralForPush: (in category '*BytecodeSets-special literal encodings') -----
+ isSpecialLiteralForPush: literal
+ ^literal == false
+ or: [literal == true
+ or: [literal == nil
+ or: [literal isInteger and: [literal between: -1 and: 2]]]]!
More information about the Vm-dev
mailing list