diff options
| author | Max Bernstein <tekknolagi@gmail.com> | 2025-07-29 12:43:14 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-29 19:43:14 +0000 |
| commit | 039f4139f89347cacbca106a6034e4ea8e04fbc2 (patch) | |
| tree | dd45eb1b536680b968a70222f5e2fbe1772bb107 /include/ruby/internal | |
| parent | b07e214bf1a6c55fe9b2409cc13160ca60af874f (diff) | |
ZJIT: Create delta debugging script to narrow JIT failures (#14041)
Add support for `--zjit-allowed-iseqs=SomeFile` and
`--zjit-log-compiled-iseqs=SomeFile` so we can restrict and inspect
which ISEQs get compiled.
Then add `jit_bisect.rb` which we can run to try and narrow a failing
script. For example:
plum% ../tool/zjit_bisect.rb ../build-dev/miniruby "test.rb"
I, [2025-07-29T12:41:18.657177 #96899] INFO -- : Starting with JIT list of 4 items.
I, [2025-07-29T12:41:18.657229 #96899] INFO -- : Verifying items
I, [2025-07-29T12:41:18.726213 #96899] INFO -- : step fixed[0] and items[4]
I, [2025-07-29T12:41:18.726246 #96899] INFO -- : 4 candidates
I, [2025-07-29T12:41:18.797212 #96899] INFO -- : 2 candidates
Reduced JIT list:
bar@test.rb:8
plum%
We start with 4 compiled functions and shrink to just one.
Diffstat (limited to 'include/ruby/internal')
0 files changed, 0 insertions, 0 deletions
