[Vm-dev] VM Maker: VMMaker.oscog-cb.1896.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jul 4 14:52:31 UTC 2016
ClementBera uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-cb.1896.mcz
==================== Summary ====================
Name: VMMaker.oscog-cb.1896
Author: cb
Time: 4 July 2016, 4:51:14.471195 pm
UUID: ad6238e2-33a7-43d2-8149-4e35127069e2
Ancestors: VMMaker.oscog-cb.1895
Fixed a damn bug where the interpreter was misaccessing inst var of remote object.
Philippine Revolution !
=============== Diff against VMMaker.oscog-cb.1895 ===============
Item was changed:
----- Method: StackInterpreter>>extPushRemoteTempOrInstVarLongBytecode (in category 'stack bytecodes') -----
extPushRemoteTempOrInstVarLongBytecode
| slotIndex tempIndex object |
slotIndex := self fetchByte.
tempIndex := self fetchByte.
self fetchNextBytecode.
(tempIndex noMask: self remoteIsInstVarAccess)
ifTrue: [self pushRemoteTemp: slotIndex inVectorAt: tempIndex]
ifFalse:
[ slotIndex := slotIndex + (extA << 8).
+ tempIndex := tempIndex - self remoteIsInstVarAccess.
extA := extB := 0.
object := self temporary: tempIndex in: localFP.
self pushMaybeContext: object receiverVariable: slotIndex ]!
Item was changed:
----- Method: StackInterpreter>>extStoreRemoteTempOrInstVarLongBytecode (in category 'stack bytecodes') -----
extStoreRemoteTempOrInstVarLongBytecode
<inline: true>
| slotIndex tempIndex object |
slotIndex := self fetchByte.
tempIndex := self fetchByte.
self fetchNextBytecode.
(tempIndex noMask: self remoteIsInstVarAccess)
ifTrue: [self storeRemoteTemp: slotIndex inVectorAt: tempIndex]
ifFalse:
[ slotIndex := slotIndex + (extA << 8).
+ tempIndex := tempIndex - self remoteIsInstVarAccess.
extA := extB := 0.
object := self temporary: tempIndex in: localFP.
self storeMaybeContext: object receiverVariable: slotIndex withValue: self internalStackTop ]!
More information about the Vm-dev
mailing list