[Vm-dev] VM Maker: BytecodeSets.spur-eem.65.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jan 18 01:40:09 UTC 2017


Eliot Miranda uploaded a new version of BytecodeSets to project VM Maker:
http://source.squeak.org/VMMaker/BytecodeSets.spur-eem.65.mcz

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

Name: BytecodeSets.spur-eem.65
Author: eem
Time: 17 January 2017, 5:40:02.160746 pm
UUID: ccdf3d93-5ba6-4376-bef2-5c92513470fc
Ancestors: BytecodeSets.spur-eem.64

SistaV1:
Define a full set of variable instance creation primitives (new:).

Fill out more of the callInlinePrimitive:s for symbolic printing.

=============== Diff against BytecodeSets.spur-eem.64 ===============

Item was changed:
  BytecodeEncoder subclass: #EncoderForSistaV1
(excessive size, no diff calculated)

Item was changed:
  ----- Method: InstructionPrinter>>callInlinePrimitive: (in category '*BytecodeSets-instruction decoding') -----
  callInlinePrimitive: index
  	"Print the callInlinePrimitive."
  	self print: 'callInlinePrimitive: ' , ((#((1000 ' class')
  										(1001 ' pointer numSlots')
  										(1002 ' pointer basicSize')
  										(1003 ' byte8Type format numBytes')
  										(1004 ' short16Type format numSho')
  										(1005 ' word32Type format numWord')
  										(1006 ' doubleWord64Type format n')
+ 
+ 										(1010 ' ensure number of bytes available')
  										(1011 ' fixed pointer basicNew')
+ 
+ 										(1020 ' identityHash (non-immediate, non-Behavior, has hash)')
+ 										(1021 ' identityHash (SmallInteger)')
+ 										(1022 ' identityHash (Character)')
+ 										(1023 ' identityHash (SmallFloat64)')
+ 										(1024 ' identityHash (Behavior, has hash?)')
+ 
+ 										(1030 ' immediateAsInteger (Character)')
+ 										(1031 ' immediateAsInteger (SmallFloat64)')
+ 
  										(2000 ' SmallInteger #+')
  										(2001 ' SmallInteger #-')
  										(2002 ' SmallInteger #*')
  										(2003 ' SmallInteger #/')
  										(2004 ' SmallInteger #//')
  										(2005 ' SmallInteger #\\')
  										(2006 ' SmallInteger #quo:')
+ 
+ 										(2011 ' Variable-sized pointers new (new:). Array, etc')
+ 										(2012 ' Variable-sized byte new (new:). ByteArray, ByteString, etc')
+ 										(2013 ' Variable-sized 16-bit new (new:). DoubleByteArray, etc')
+ 										(2014 ' Variable-sized 32-bit new (new:). Bitmap, FloatArray, etc')
+ 										(2015 ' Variable-sized 64-bit new (new:). DoubleWordArray, etc')
+ 
  										(2016 ' SmallInteger #bitAnd:')
  										(2017 ' SmallInteger #bitOr:')
  										(2018 ' SmallInteger #bitXor:')
+ 										(2019 ' SmallInteger #bitShiftLeft:')
+ 										(2019 ' SmallInteger #bitShiftRight:')
+ 
- 										(2019 ' SmallInteger #bitShift:')
  										(2032 ' SmallInteger #>')
  										(2033 ' SmallInteger #<')
  										(2034 ' SmallInteger #>=')
  										(2035 ' SmallInteger #<=')
  										(2036 ' SmallInteger #=')
  										(2037 ' SmallInteger #~=')
+ 
  										(2064 ' Pointer Object>>at:')
  										(2065 ' Byte Object>>at:')
  										(2066 ' 16-bit Word Object>>at:')
  										(2067 ' Word Object>>at:')
  										(2068 ' DoubleWord Object>>at:')
  										(2069 ' QuadWord Object>>at:')
+ 
  										(3000 ' Pointer Object>>at:put:')
  										(3001 ' Byte Object>>at:put:')
  										(3002 ' Word Object>>at:put:')
  										(3003 ' DoubleWord Object>>at:put')
  										(3004 ' QuadWord Object>>at:put:'))
  											detect: [:tuple| tuple first = index]
+ 											ifNone: [{index printString}]) last)!
- 											ifNone: [])
- 										ifNil: [index printString]
- 										ifNotNil: [:tuple| tuple last])!



More information about the Vm-dev mailing list