Age | Commit message (Collapse) | Author | |
---|---|---|---|
4 days | zjit_bisect.rb: Fix pipe deadlock; log when timed out [ci skip] | Alan Wu | |
I spent a long time bisecting some largish program before realizing that failure was in fact coming from the child timing out due to zjit_bisect.rb not clearing the stdout and stderr pipe. Fix the pipe deadlock by redirecting to /dev/null. This sacrifices the debug output during boot, but for that we also get to remove a lot of code and the dependency on Open3. | |||
7 days | ZJIT: Add flag to disable the HIR optimizer (#14181) | Max Bernstein | |
Also add a check in the bisect script that can assign blame to the HIR optimizer. | |||
11 days | ZJII: Address review feedback | Max Bernstein | |
11 days | ZJIT: Actually kill timed-out process in bisect | Max Bernstein | |
11 days | ZJIT: Use OptionParser in bisect script | Max Bernstein | |
11 days | ZJIT: Use shellwords in bisect script | Max Bernstein | |
11 days | ZJIT: Print out command to repro in bisect script | Max Bernstein | |
2025-07-29 | ZJIT: Create delta debugging script to narrow JIT failures (#14041) | Max Bernstein | |
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. |