From 7b45efc69d6944f7970697e3b721fa793da8e715 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 22 Sep 2007 00:28:55 -0400 Subject: [PATCH] VM fixes for Linux/x86-64 --- core/cpu/x86/64/64.factor | 4 ++-- vm/cpu-x86.64.S | 6 +----- vm/platform.h | 2 ++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/core/cpu/x86/64/64.factor b/core/cpu/x86/64/64.factor index 67c07608ab..b91ab169de 100644 --- a/core/cpu/x86/64/64.factor +++ b/core/cpu/x86/64/64.factor @@ -14,10 +14,10 @@ M: amd64-backend ds-reg R14 ; M: amd64-backend rs-reg R15 ; 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 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: float-regs return-reg drop XMM0 ; diff --git a/vm/cpu-x86.64.S b/vm/cpu-x86.64.S index ed502af89b..8aef5f9d61 100644 --- a/vm/cpu-x86.64.S +++ b/vm/cpu-x86.64.S @@ -12,13 +12,9 @@ push %rbx ; \ push %rbp ; \ push %r12 ; \ - push %r13 ; \ - push %r16 ; \ - push %rax /* Alignment */ + push %r13 ; #define POP_NONVOLATILE \ - pop %rax ; /* Alignment */ \ - pop %r16 ; \ pop %r13 ; \ pop %r12 ; \ pop %rbp ; \ diff --git a/vm/platform.h b/vm/platform.h index 23c241336b..f181c93e2c 100644 --- a/vm/platform.h +++ b/vm/platform.h @@ -63,6 +63,7 @@ #if defined(FACTOR_X86) #include "os-unix-ucontext.h" + #include "os-linux-x86-32.h" #elif defined(FACTOR_PPC) #include "os-unix-ucontext.h" #include "os-linux-ppc.h" @@ -70,6 +71,7 @@ #include "os-linux-arm.h" #elif defined(FACTOR_AMD64) #include "os-unix-ucontext.h" + #include "os-linux-x86-64.h" #else #error "Unsupported Linux flavor" #endif