[ruby-cvs:72021] k0kubun:r64929 (trunk): mjit.h: call compiled code immediately

k0kubun at ruby-lang.org k0kubun at ruby-lang.org
Sun Oct 7 13:18:00 JST 2018


k0kubun	2018-10-07 13:17:59 +0900 (Sun, 07 Oct 2018)

  New Revision: 64929

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64929

  Log:
    mjit.h: call compiled code immediately
    
    after the first compilation on --jit-wait.
    
    Previously the assignment to `func` didn't have meaning for the behavior,
    and the compiled code wasn't called immediately after the synchronous
    compilation. It wasn't intentional.
    
    Fixing this issue without impacting performance without --jit-wait is
    not so obvious. Adding branch or goto to call func in mjit_exec spoiled
    the performance without --jit-wait. Instead of that, I called the func
    inside mjit_wait_call() (former mjit_get_iseq_func()) which is never
    inlined to mjit_exec(). Thanks to that, this commit has no impact for
    normal performance.
    
    mjit.c: ditto

  Modified files:
    trunk/mjit.c
    trunk/mjit.h


More information about the ruby-cvs mailing list