[Vm-dev] VM Maker: VMMaker.oscog-cb.2117.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jan 31 13:41:48 UTC 2017

ClementBera uploaded a new version of VMMaker to project VM Maker:

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

Name: VMMaker.oscog-cb.2117
Author: cb
Time: 31 January 2017, 2:41:26.404463 pm
UUID: b56c34a6-88ae-4f17-930a-fc625b7ab100
Ancestors: VMMaker.oscog-eem.2116

Fixed a bug in read-only object where the attemptToAssign:withIndex: call-back would be called with a 1-based index by the interpreter and 0-based index by the JIT. Everybody now calls it with 1-based index.

=============== Diff against VMMaker.oscog-eem.2116 ===============

Item was changed:
  ----- Method: CoInterpreter>>ceCannotAssignTo:withIndex:valueToAssign: (in category 'trampolines') -----
  ceCannotAssignTo: immutableObject withIndex: index valueToAssign: valueToAssign
+ 	"index is unboxed and 0-based. The call-back expects 1-based value (to perform the operation with instVarAt:put:"
- 	"index is unboxed."
  	<option: #IMMUTABILITY>
  	instructionPointer := self popStack.
  	self push: immutableObject.
  	self push: valueToAssign.
+ 	self push: (objectMemory integerObjectOf: index + 1).
- 	self push: (objectMemory integerObjectOf: index).
  	self push: instructionPointer.
  	^ self
  		ceSendAbort: (objectMemory splObj: SelectorAttemptToAssign)
  		to: immutableObject
  		numArgs: 2!

More information about the Vm-dev mailing list