[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