ClementBera uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-cb.2117.mcz==================== 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."
<api>
<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!