[Vm-dev] VM Maker: VMMaker.oscog-EstebanLorenzano.2015.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Dec 1 08:44:17 UTC 2016


Esteban Lorenzano uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-EstebanLorenzano.2015.mcz

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

Name: VMMaker.oscog-EstebanLorenzano.2015
Author: EstebanLorenzano
Time: 1 December 2016, 9:41:00.444693 am
UUID: 7319d8a3-1168-489a-9013-b9e166bec9d1
Ancestors: VMMaker.oscog-eem.2014

move initializationOptions to initializeMiscConstants 


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

Item was changed:
  ----- Method: CogX64Compiler class>>initialize (in category 'class initialization') -----
  initialize
  	"Initialize various x64 instruction-related constants.
  	 [1] IA-32 Intel® Architecture Software Developer's Manual Volume 2A: Instruction Set Reference, A-M"
  
  	"CogX64Compiler initialize"
  
  	self ~~ CogX64Compiler ifTrue: [^self].
  
- 	initializationOptions
- 		at: #ABI
- 		ifPresent: [:abi| SysV := abi asUppercase ~= #WIN64]
- 		ifAbsent: [SysV := true]. "Default ABI; set to true for SysV, false for WIN64"
- 
  	RAX := 0.
  	RCX := 1.  "Were they completely mad or simply sadistic?"
  	RDX := 2.
  	RBX := 3.
  	RSP := 4.
  	RBP := 5.
  	RSI := 6.
  	RDI := 7.
  	R8 := 8.
  	R9 := 9.
  	R10 := 10.
  	R11 := 11.
  	R12 := 12.
  	R13 := 13.
  	R14 := 14.
  	R15 := 15.
  
  	XMM0L := 0.
  	XMM1L := 1.
  	XMM2L := 2.
  	XMM3L := 3.
  	XMM4L := 4.
  	XMM5L := 5.
  	XMM6L := 6.
  	XMM7L := 7.
  	XMM8L := 8.
  	XMM9L := 9.
  	XMM10L := 10.
  	XMM11L := 11.
  	XMM12L := 12.
  	XMM13L := 13.
  	XMM14L := 14.
  	XMM15L := 15.
  
  	"Mod R/M Mod fields.  See [1] Sec 2.4, 2.5 & 2.6 & Table 2-2"
  	ModRegInd := 0.
  		ModRegIndSIB := 4.
  		ModRegIndDisp32 := 5.
  	ModRegRegDisp8 := 1.
  	ModRegRegDisp32 := 2.
  	ModReg := 3.
  
  	"SIB Scaled Index modes.  See [1] Sec 2.4, 2.5 & 2.6 & Table 2-3"
  	SIB1 := 0.
  	SIB2 := 1.
  	SIB4 := 2.
  	SIB8 := 3.
  
  	"Specific instructions"
  	self
  		initializeSpecificOpcodes: #(CDQ IDIVR IMULRR CPUID LFENCE MFENCE SFENCE LOCK CMPXCHGAwR CMPXCHGMwrR XCHGAwR XCHGMwrR XCHGRR)
  		in: thisContext method!

Item was added:
+ ----- Method: CogX64Compiler class>>initializeMiscConstants (in category 'class initialization') -----
+ initializeMiscConstants
+ 	super initializeMiscConstants.
+ 	initializationOptions
+ 		at: #ABI
+ 		ifPresent: [:abi| SysV := abi asUppercase ~= #WIN64]
+ 		ifAbsent: [SysV := true]. "Default ABI; set to true for SysV, false for WIN64"
+ !



More information about the Vm-dev mailing list