VM Maker: VMMaker.oscog-cb.2117.mcz

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

VM Maker: VMMaker.oscog-cb.2117.mcz

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!