diff options
| author | Mattias EngdegÄrd | 2025-10-08 18:03:08 +0200 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2025-10-16 19:27:17 +0200 |
| commit | f4e3fce9ea80973269d24b7179ae2ad2cbff83d0 (patch) | |
| tree | 1a86226ad6096312e5b5daf87cb551717a1e286a /exec/loader-aarch64.s | |
| parent | 8d6d4a9856f010519abeed503249e172625e9da5 (diff) | |
| download | emacs-f4e3fce9ea80973269d24b7179ae2ad2cbff83d0.tar.gz emacs-f4e3fce9ea80973269d24b7179ae2ad2cbff83d0.zip | |
exec_byte_code: use fixed registers for top and pc (bug#79610)
GCC seems to have difficulty allocating important global interpreter
variables in registers; telling it which ones to use for 'top' and 'pc'
makes a big difference and seems to ease pressure enough for it to
deal with other variables as well.
We do it for AMD64 and ARM64. Clang doesn't seem to need these directives.
It does result in -Wclobbered warnings that seem difficult to silence.
* src/bytecode.c (BC_REG_TOP, BC_REG_PC): New.
(exec_byte_code): Use them.
Diffstat (limited to 'exec/loader-aarch64.s')
0 files changed, 0 insertions, 0 deletions