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" + !
vm-dev@lists.squeakfoundation.org