[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