[Vm-dev] VM Maker: VMMaker.oscog-nice.2221.mcz

commits at source.squeak.org commits at source.squeak.org
Fri May 26 09:44:29 UTC 2017


Nicolas Cellier uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-nice.2221.mcz

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

Name: VMMaker.oscog-nice.2221
Author: nice
Time: 26 May 2017, 11:43:00.704119 am
UUID: 4f7ecc89-b477-43bf-b794-d7c39e4fcbd0
Ancestors: VMMaker.oscog-nice.2220

Fix the method for getting the stack pointer in Win64 ABI.

The generated ceCaptureCStackPointers must account for the 32 bytes reserved for saving the 4 register parameters which are allocated whatever the real number of parameters.

=============== Diff against VMMaker.oscog-nice.2220 ===============

Item was changed:
  ----- Method: CogX64Compiler>>leafCallStackPointerDelta (in category 'abi') -----
  leafCallStackPointerDelta
  	"Answer the delta from the stack pointer after a call to the stack pointer
  	 immediately prior to the call.  This is used to compute the stack pointer
  	 immediately prior to  call from within a leaf routine, which in turn is used
+ 	 to capture the c stack pointer to use in trampolines back into the C run-time.
+ 	In Win64 ABI, also count the stack reserved for saving 4 register arguments."
+ 	^SysV
+ 		ifTrue: [8]
+ 		ifFalse: [8 + 32]!
- 	 to capture the c stack pointer to use in trampolines back into the C run-time."
- 	^8!



More information about the Vm-dev mailing list