[PATCH] Fix TracePoint for code loaded using ISeq.load_from_binary
Hello. This is a patch for Bug #14702, which I don't think is fully addressed.
The tests in the patch should fail on both trunk and ruby_2_5.
Fix TracePoint for nested iseq loaded from binary [Bug #14702] When loading iseq from binary while a TracePoint is on, we need to recompile instructions to their "trace_" variant. Before this commit we only recompiled instructions in the top level iseq, which meant that TracePoint was malfunctioning for code inside module/class/method definitions. * compile.c: Move rb_iseq_init_trace to rb_ibf_load_iseq_complete. It is called on all iseqs during loading. * test_iseq.rb: Test that tracepoints fire within children iseq when using load_from_binary.
Updated by nagachika (Tomoyuki Chikanaga) over 2 years ago
- Backport changed from 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: DONE to 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: REQUIRED
I'll set Backport field for 2.5 as REQUIRED since https://bugs.ruby-lang.org/issues/15717 claims the issue was not fixed on ruby_2_5.