VM Maker: VMMaker.oscog-EstebanLorenzano.2015.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-EstebanLorenzano.2015.mcz

commits-2
 
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"
+ !