From b321c5656e8e4810aca80b894ecaf17510dee95f Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Wed, 14 Dec 2011 11:33:05 -0800 Subject: [PATCH] cpu.x86.64: define jit-load-vm as a no-op This was the signal handler prolog code can be shared completely between x86.32 and x86.64. --- basis/cpu/x86/64/bootstrap.factor | 5 +++++ basis/cpu/x86/bootstrap.factor | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/basis/cpu/x86/64/bootstrap.factor b/basis/cpu/x86/64/bootstrap.factor index 5fef6382a5..be447ebd86 100755 --- a/basis/cpu/x86/64/bootstrap.factor +++ b/basis/cpu/x86/64/bootstrap.factor @@ -38,6 +38,11 @@ IN: bootstrap.x86 0 JMP f rc-relative rel-word-pic-tail ] jit-word-jump jit-define +: jit-load-vm ( -- ) + ! no-op on x86-64. in factor contexts vm-reg always contains the + ! vm pointer. + ; + : jit-load-context ( -- ) ctx-reg vm-reg vm-context-offset [+] MOV ; diff --git a/basis/cpu/x86/bootstrap.factor b/basis/cpu/x86/bootstrap.factor index e1608e4b80..2e33a4d930 100644 --- a/basis/cpu/x86/bootstrap.factor +++ b/basis/cpu/x86/bootstrap.factor @@ -104,9 +104,7 @@ big-endian off PUSHF - ! on x86-32 we need to load the vm register - ! on x86-64 it's already loaded whenever we're in a factor context - bootstrap-cell 4 = [ jit-load-vm ] when ; + jit-load-vm ; : jit-signal-handler-epilog ( -- ) POPF