diff options
author | Andy Wingo <wingo@igalia.com> | 2019-04-25 17:14:28 +0200 |
---|---|---|
committer | Andy Wingo <wingo@igalia.com> | 2019-04-25 17:14:28 +0200 |
commit | 99e5672726ff13ae761bc4da92253b6545268f06 (patch) | |
tree | 97f2bb2c59705d9bc48b614a67c18735c57cc9f4 /lightening/x86-cpu.c | |
parent | ddd66a2f344e9d59bb1bc928ca90ddabbfd0afbb (diff) | |
download | guile-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.c | 8 |
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 } |