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

commits at source.squeak.org commits at source.squeak.org
Wed Mar 30 14:40:46 UTC 2016


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!



More information about the Vm-dev mailing list