VM fixes for Linux/x86-64
parent
88cdd6ca9c
commit
7b45efc69d
|
@ -14,10 +14,10 @@ M: amd64-backend ds-reg R14 ;
|
||||||
M: amd64-backend rs-reg R15 ;
|
M: amd64-backend rs-reg R15 ;
|
||||||
M: amd64-backend stack-reg RSP ;
|
M: amd64-backend stack-reg RSP ;
|
||||||
|
|
||||||
M: temp-reg v>operand drop R16 ;
|
M: temp-reg v>operand drop R13 ;
|
||||||
|
|
||||||
M: int-regs return-reg drop RAX ;
|
M: int-regs return-reg drop RAX ;
|
||||||
M: int-regs vregs drop { RAX RBX RCX RDX RBP RSI RDI R8 R9 R10 R11 R12 R13 } ;
|
M: int-regs vregs drop { RAX RBX RCX RDX RBP RSI RDI R8 R9 R10 R11 R12 } ;
|
||||||
M: int-regs param-regs drop { RDI RSI RDX RCX R8 R9 } ;
|
M: int-regs param-regs drop { RDI RSI RDX RCX R8 R9 } ;
|
||||||
|
|
||||||
M: float-regs return-reg drop XMM0 ;
|
M: float-regs return-reg drop XMM0 ;
|
||||||
|
|
|
@ -12,13 +12,9 @@
|
||||||
push %rbx ; \
|
push %rbx ; \
|
||||||
push %rbp ; \
|
push %rbp ; \
|
||||||
push %r12 ; \
|
push %r12 ; \
|
||||||
push %r13 ; \
|
push %r13 ;
|
||||||
push %r16 ; \
|
|
||||||
push %rax /* Alignment */
|
|
||||||
|
|
||||||
#define POP_NONVOLATILE \
|
#define POP_NONVOLATILE \
|
||||||
pop %rax ; /* Alignment */ \
|
|
||||||
pop %r16 ; \
|
|
||||||
pop %r13 ; \
|
pop %r13 ; \
|
||||||
pop %r12 ; \
|
pop %r12 ; \
|
||||||
pop %rbp ; \
|
pop %rbp ; \
|
||||||
|
|
|
@ -63,6 +63,7 @@
|
||||||
|
|
||||||
#if defined(FACTOR_X86)
|
#if defined(FACTOR_X86)
|
||||||
#include "os-unix-ucontext.h"
|
#include "os-unix-ucontext.h"
|
||||||
|
#include "os-linux-x86-32.h"
|
||||||
#elif defined(FACTOR_PPC)
|
#elif defined(FACTOR_PPC)
|
||||||
#include "os-unix-ucontext.h"
|
#include "os-unix-ucontext.h"
|
||||||
#include "os-linux-ppc.h"
|
#include "os-linux-ppc.h"
|
||||||
|
@ -70,6 +71,7 @@
|
||||||
#include "os-linux-arm.h"
|
#include "os-linux-arm.h"
|
||||||
#elif defined(FACTOR_AMD64)
|
#elif defined(FACTOR_AMD64)
|
||||||
#include "os-unix-ucontext.h"
|
#include "os-unix-ucontext.h"
|
||||||
|
#include "os-linux-x86-64.h"
|
||||||
#else
|
#else
|
||||||
#error "Unsupported Linux flavor"
|
#error "Unsupported Linux flavor"
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue