[Vm-dev] VM Maker: VMMaker.oscog-eem.760.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Jun 7 00:42:07 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.760.mcz

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

Name: VMMaker.oscog-eem.760
Author: eem
Time: 6 June 2014, 5:39:11.607 pm
UUID: 30219ee2-c0a5-4d81-b2c1-ef12a8b534fb
Ancestors: VMMaker.oscog-eem.759

Streamline genExternalizePointersForPrimitiveCall

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

Item was changed:
  ----- Method: Cogit>>genExternalizePointersForPrimitiveCall (in category 'trampoline support') -----
  genExternalizePointersForPrimitiveCall
- 	backEnd hasLinkRegister
- 		ifTrue: [self PushR: LinkReg]
- 		ifFalse: [self MoveMw: 0 r: SPReg R: ClassReg].
  	self MoveR: FPReg Aw: coInterpreter framePointerAddress.
- 	"Set coInterpreter stackPointer to the topmost argument, skipping the return address."
- 	self LoadEffectiveAddressMw: BytesPerWord r: SPReg R: TempReg.
  	backEnd hasLinkRegister
+ 		ifTrue:
+ 			["Set coInterpreter stackPointer to the topmost argument, skipping the return address."
+ 			 self MoveR: SPReg Aw: coInterpreter stackPointerAddress.
+ 			 self MoveR: LinkReg Aw: coInterpreter instructionPointerAddress]
+ 		ifFalse:
+ 			[self PopR: TempReg. "get retpc"
+ 			 self MoveR: TempReg Aw: coInterpreter instructionPointerAddress.
+ 			 "Set coInterpreter stackPointer to the topmost argument, skipping the return address."
+ 			 self MoveR: SPReg Aw: coInterpreter stackPointerAddress].
- 		ifTrue: [self MoveR: LinkReg Aw: coInterpreter instructionPointerAddress]
- 		ifFalse: [self MoveR: ClassReg Aw: coInterpreter instructionPointerAddress].
- 	self MoveR: TempReg Aw: coInterpreter stackPointerAddress.
  	^0!



More information about the Vm-dev mailing list