Project

General

Profile

Bug #15270

Updated by alanwu (Alan Wu) about 3 years ago

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. varient. Before this commit 
     we only recompiled instructions in the top level iseq, 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. 
 ~~~

Back