[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