[Vm-dev] VM Maker: Cog-eem.283.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Sep 24 01:26:51 UTC 2015


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

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

Name: Cog-eem.283
Author: eem
Time: 23 September 2015, 6:26:33.661 pm
UUID: 43a143f9-1202-474b-8323-8f18022d2b10
Ancestors: Cog-eem.282

Impement stack initialization for the x64 alien, sufficient to support in-image compilation.

=============== Diff against Cog-eem.282 ===============

Item was added:
+ ----- Method: BochsX64Alien>>flushICacheFrom:to: (in category 'execution') -----
+ flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
+ 	self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was added:
+ ----- Method: BochsX64Alien>>initializeStackFor: (in category 'processor setup') -----
+ initializeStackFor: aCogit
+ 	"Different cpus need different stack alignment etc, so handle the details here."
+ 	"This is for testing.  On many OS's the stack must remain aligned;
+ 	 e.g. IA32 using SSE requires 16 byte alignment."
+ 	| stackAlignment |
+ 	stackAlignment := 16.
+ 	aCogit setStackAlignment: stackAlignment expectedSPOffset: 0 expectedFPOffset: 8.
+ 	self assert: stackAlignment isPowerOfTwo.
+ 	PostBuildStackDelta :=  stackAlignment > 8
+ 								ifTrue: [stackAlignment - 8]
+ 								ifFalse: [0]!

Item was added:
+ ----- Method: BochsX64Alien>>setFramePointer:stackPointer: (in category 'accessing-abstract') -----
+ setFramePointer: framePointer stackPointer: stackPointer
+ 	"Initialize the processor's frame and stack pointers"
+ 	self rbp: framePointer.
+ 	self rsp: stackPointer!



More information about the Vm-dev mailing list