VM Maker: VMMaker.oscog-cb.1749.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.1749.mcz

commits-2
 
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-cb.1749.mcz

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

Name: VMMaker.oscog-cb.1749
Author: cb
Time: 30 March 2016, 4:38:46.991 pm
UUID: 934efe61-338b-40ad-999c-a1c9bd594736
Ancestors: VMMaker.oscog-cb.1748

fixed a type zip.

=============== Diff against VMMaker.oscog-cb.1748 ===============

Item was changed:
  ----- Method: CogObjectRepresentationForSpur>>genStoreWithImmutabilityButNoStoreCheckSourceReg:slotIndex:destReg:scratchReg:needRestoreRcvr: (in category 'compile abstract instructions') -----
  genStoreWithImmutabilityButNoStoreCheckSourceReg: sourceReg slotIndex: index destReg: destReg scratchReg: scratchReg needRestoreRcvr: needRestoreRcvr
 
+ <var: #mutableJump type: #'AbstractInstruction *'>
- <var: #immutableJump type: #'AbstractInstruction *'>
  <var: #immutabilityFailure type: #'AbstractInstruction *'>
  | immutabilityFailure mutableJump |
 
  "imm check has its own trampoline"
  mutableJump := self genJumpMutable: destReg scratchReg: scratchReg.
  cogit MoveCq: index + 1 R: TempReg. "index + 1 as 0 is reserved for store checks"
  cogit CallRT: ceStoreTrampoline.
  cogit annotateBytecode: cogit Label.
  needRestoreRcvr ifTrue: [ cogit putSelfInReceiverResultReg ].
  immutabilityFailure := cogit Jump: 0.
  mutableJump jmpTarget: cogit Label.
 
  cogit genTraceStores.
 
  "do the store"
  cogit MoveR: sourceReg
    Mw: index * objectMemory wordSize + objectMemory baseHeaderSize
    r: destReg.
 
  immutabilityFailure jmpTarget: cogit Label.
 
  ^ 0!