Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1387.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1387 Author: eem Time: 26 June 2015, 1:47:11.51 pm UUID: 62775273-e462-4d31-9c0b-d66d8db48cb1 Ancestors: VMMaker.oscog-tpr.1386
Nuke obsolete inline prim bytecode
=============== Diff against VMMaker.oscog-tpr.1386 ===============
Item was removed: - ----- Method: StackInterpreter>>inlinePrimitiveBytecode: (in category 'miscellaneous bytecodes') ----- - inlinePrimitiveBytecode: primIndex - "SistaV1: 248 11111000 iiiiiiii mjjjjjjj Call Primitive #iiiiiiii + (jjjjjjj * 256) m=1 means inlined primitive, no hard return after execution." - <option: #SistaVM> - | result result64 | - primIndex caseOf: { - "0 unchecked SmallInteger #+. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [0] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - + (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "1 unchecked SmallInteger #-. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [1] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - - (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "2 unchecked SmallInteger #*. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [2] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - * (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "3 unchecked SmallInteger #/. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [3] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - / (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "4 unchecked SmallInteger #//. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [4] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - // (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "5 unchecked SmallInteger #\. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [5] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - \ (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "6 unchecked SmallInteger #quo:. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [6] -> [| rcvr arg | - rcvr := objectMemory integerValueOf: (self internalStackValue: 1). - arg := objectMemory integerValueOf: self internalStackTop. - result := self quot: rcvr ient: arg. - self internalPop: 1; internalStackTopPut: (objectMemory integerObjectOf: result)]. - - "16 unchecked SmallInteger #bitAnd:. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [16] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - bitAnd: (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "17 unchecked SmallInteger #bitOr:. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [17] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - bitOr: (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "18 unchecked SmallInteger #bitXor:. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [18] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - bitXor: (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - "19 unchecked SmallInteger #bitShift:. Both arguments are SmallIntegers and the result fits in a SmallInteger (* depends on word size)" - [19] -> [result := objectMemory integerObjectOf: ((objectMemory integerValueOf: (self internalStackValue: 1)) - bitShift: (objectMemory integerValueOf: self internalStackTop)). - self internalPop: 1; internalStackTopPut: result]. - - "32 unchecked SmallInteger #>. Both arguments are SmallIntegers" - [32] -> [result := objectMemory booleanObjectOf: ((self internalStackValue: 1) > self internalStackTop). - self internalPop: 1; internalStackTopPut: result]. - "33 unchecked SmallInteger #<. Both arguments are SmallIntegers" - [33] -> [result := objectMemory booleanObjectOf: ((self internalStackValue: 1) < self internalStackTop). - self internalPop: 1; internalStackTopPut: result]. - "34 unchecked SmallInteger #>=. Both arguments are SmallIntegers" - [34] -> [result := objectMemory booleanObjectOf: ((self internalStackValue: 1) >= self internalStackTop). - self internalPop: 1; internalStackTopPut: result]. - "35 unchecked SmallInteger #<=. Both arguments are SmallIntegers" - [35] -> [result := objectMemory booleanObjectOf: ((self internalStackValue: 1) <= self internalStackTop). - self internalPop: 1; internalStackTopPut: result]. - "36 unchecked SmallInteger #=. Both arguments are SmallIntegers" - [36] -> [result := objectMemory booleanObjectOf: ((self internalStackValue: 1) = self internalStackTop). - self internalPop: 1; internalStackTopPut: result]. - "37 unchecked SmallInteger #~=. Both arguments are SmallIntegers" - [37] -> [result := objectMemory booleanObjectOf: ((self internalStackValue: 1) ~= self internalStackTop). - self internalPop: 1; internalStackTopPut: result]. - - "64 unchecked Pointer Object>>at:. The receiver is guaranteed to be a pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger" - [64] -> [result := objectMemory - fetchPointer: (objectMemory integerValueOf: self internalStackTop) - ofObject: (self internalStackValue: 1). - self internalPop: 1; internalStackTopPut: result]. - "65 unchecked Byte Object>>at:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The result is a SmallInteger." - [65] -> [result := objectMemory - fetchByte: (objectMemory integerValueOf: self internalStackTop) - ofObject: (self internalStackValue: 1). - self internalPop: 1; internalStackTopPut: (objectMemory integerObjectOf: result)]. - "66 unchecked Word Object>>at:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The result is a SmallInteger." - [66] -> [result := objectMemory - fetchShort16: (objectMemory integerValueOf: self internalStackTop) - ofObject: (self internalStackValue: 1). - self internalPop: 1; internalStackTopPut: (objectMemory integerObjectOf: result)]. - "67 unchecked DoubleWord Object>>at:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The result is a SmallInteger or a LargePositiveInteger." - [67] -> [result := objectMemory - fetchLong32: (objectMemory integerValueOf: self internalStackTop) - ofObject: (self internalStackValue: 1). - self internalPop: 1; internalStackTopPut: (self signed64BitValueOf: result)]. - "68 unchecked QuadWord Object>>at:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The result is a SmallInteger or a LargePositiveInteger." - [68] -> [result64 := objectMemory - fetchLong64: (objectMemory integerValueOf: self internalStackTop) - ofObject: (self internalStackValue: 1). - self internalPop: 1; internalStackTopPut: (self signed64BitValueOf: result)]. - - "80 unchecked Pointer Object>>at:put:. The receiver is guaranteed to be a pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger" - [80] -> [result := self internalStackTop. - objectMemory - storePointer: (objectMemory integerValueOf: (self internalStackValue: 1)) - ofObject: (self internalStackValue: 2) - withValue: result. - self internalPop: 2; internalStackTopPut: result]. - "81 unchecked Byte Object>>at:put:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The argument is a SmallInteger. The primitive stores the least significant 8 bits." - [81] -> [result := self internalStackTop. - objectMemory - storeByte: (objectMemory integerValueOf: (self internalStackValue: 1)) - ofObject: (self internalStackValue: 2) - withValue: (objectMemory integerValueOf: result). - self internalPop: 2; internalStackTopPut: result]. - "82 unchecked Word Object>>at:put:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The argument is a SmallInteger. The primitive stores the least significant 16 bits." - [82] -> [result := self internalStackTop. - objectMemory - storeShort16: (objectMemory integerValueOf: (self internalStackValue: 1)) - ofObject: (self internalStackValue: 2) - withValue: (objectMemory integerValueOf: result). - self internalPop: 2; internalStackTopPut: result]. - "83 unchecked DoubleWord Object>>at:put:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The argument is a SmallInteger. The primitive stores the least significant 32 bits." - [83] -> [result := self internalStackTop. - objectMemory - storeLong32: (objectMemory integerValueOf: (self internalStackValue: 1)) - ofObject: (self internalStackValue: 2) - withValue: (objectMemory integerValueOf: result). - self internalPop: 2; internalStackTopPut: result]. - "84 unchecked QuadWord Object>>at:put:. The receiver is guaranteed to be a non-pointer object. The 0-relative (1-relative?) index is an in-range SmallInteger. The argument is a SmallInteger. The primitive stores the least significant 64 bits." - [84] -> [result := self internalStackTop. - objectMemory - storeLong64: (objectMemory integerValueOf: (self internalStackValue: 1)) - ofObject: (self internalStackValue: 2) - withValue: (objectMemory integerValueOf: result). - self internalPop: 2; internalStackTopPut: result] } - otherwise: - [localIP := localIP - 3. - self respondToUnknownBytecode]!
vm-dev@lists.squeakfoundation.org