ruby/yjit
Kevin Menard 3407565d2f
YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. (#11083)
Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping.

ARM64 will not increment the program counter (PC) upon hitting a breakpoint instruction. Consequently, stepping through code with a debugger ends up looping back to the breakpoint instruction. LLDB has a special breakpoint address of 0xf000 that will increment the PC and allow the debugger to work as expected. This change makes it possible to debug YJIT generated code on ARM64.

More details at: https://discourse.llvm.org/t/stepping-over-a-brk-instruction-on-arm64/69766/8

Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2024-07-02 15:55:17 -04:00
..
bindgen Optimized forwarding callers and callees 2024-06-18 09:28:25 -07:00
src YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. (#11083) 2024-07-02 15:55:17 -04:00
.gitignore
Cargo.lock Bump capstone from 0.11.0 to 0.12.0 in /yjit (#10094) 2024-02-25 19:02:00 -08:00
Cargo.toml Bump capstone from 0.11.0 to 0.12.0 in /yjit (#10094) 2024-02-25 19:02:00 -08:00
not_gmake.mk YJIT: Fix shared/static library symbol leaks 2023-01-27 12:28:09 -05:00
yjit.mk Propagate jobserver FDs to `cargo` and `rustc` [ci skip] 2024-03-22 22:05:58 +09:00