diff options
author | Björn Gustavsson <[email protected]> | 2017-08-24 16:00:34 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-08-31 15:45:31 +0200 |
commit | 2d21799e64f79a5bb8d81727a521093472e89fb1 (patch) | |
tree | 0f9ccefb971f9782ee5fab9772aa3c4566102daa /erts/emulator | |
parent | 0ce65931f6f4c5dc1c55e390379c81de05822f91 (diff) | |
download | otp-2d21799e64f79a5bb8d81727a521093472e89fb1.tar.gz otp-2d21799e64f79a5bb8d81727a521093472e89fb1.tar.bz2 otp-2d21799e64f79a5bb8d81727a521093472e89fb1.zip |
Assign machine registers for X86-64
Keep frequently used variables in machine registers.
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 48569a90a9..367da88cb6 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -439,6 +439,12 @@ init_emulator(void) # define REG_stop asm("%l3") # define REG_I asm("%l4") # define REG_fcalls asm("%l5") +#elif defined(__GNUC__) && defined(__amd64__) && !defined(DEBUG) +# define REG_xregs asm("%r12") +# define REG_htop +# define REG_stop asm("%r13") +# define REG_I asm("%rbx") +# define REG_fcalls asm("%r14") #else # define REG_xregs # define REG_htop |