summaryrefslogtreecommitdiff
path: root/lightening/x86-cpu.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2019-04-25 17:14:28 +0200
committerAndy Wingo <wingo@igalia.com>2019-04-25 17:14:28 +0200
commit99e5672726ff13ae761bc4da92253b6545268f06 (patch)
tree97f2bb2c59705d9bc48b614a67c18735c57cc9f4 /lightening/x86-cpu.c
parentddd66a2f344e9d59bb1bc928ca90ddabbfd0afbb (diff)
downloadguile-99e5672726ff13ae761bc4da92253b6545268f06.tar.gz
Renumber x86 registers
Now that there's no hazard to using a register used for passing arguments, renumber to give JIT_R/JIT_F/JIT_V names to all registers. Choose a temp register that's not used for passing arguments. Our previous choice was an argument register (doh!) which made function calls with many arguments fail.
Diffstat (limited to 'lightening/x86-cpu.c')
-rw-r--r--lightening/x86-cpu.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lightening/x86-cpu.c b/lightening/x86-cpu.c
index 901d4ea4e..f49ba7e37 100644
--- a/lightening/x86-cpu.c
+++ b/lightening/x86-cpu.c
@@ -270,11 +270,11 @@ get_temp_gpr(jit_state_t *_jit)
{
ASSERT(!_jit->temp_gpr_saved);
_jit->temp_gpr_saved = 1;
-#if __X32
+#ifdef JIT_RTMP
+ return JIT_RTMP;
+#else
pushr(_jit, _RBP_REGNO);
return _RBP;
-#else
- return _R8;
#endif
}
@@ -283,7 +283,7 @@ unget_temp_gpr(jit_state_t *_jit)
{
ASSERT(_jit->temp_gpr_saved);
_jit->temp_gpr_saved = 0;
-#if __X32
+#ifndef JIT_RTMP
popr(_jit, _RBP_REGNO);
#endif
}