[ruby-cvs:71775] k0kubun:r64683 (trunk): _mjit_compile_pc_and_sp.erb: skip moving pc

k0kubun at ruby-lang.org k0kubun at ruby-lang.org
Tue Sep 11 21:53:52 JST 2018


k0kubun	2018-09-11 21:53:52 +0900 (Tue, 11 Sep 2018)

  New Revision: 64683

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

  Log:
    _mjit_compile_pc_and_sp.erb: skip moving pc
    
    when catch_except_p is false and insn.always_leaf? is true (never makes
    arbitrary method call in the insn).
    
    On Optcarrot, unfortunately this didn't have measureable performance impact.
    But still this is a good direction since it becomes much faster when
    marking all insns as always leaf.
    
    bare_instructions.rb: add `#always_leaf?` that indicates the insn can
    always be considered as leaf. Using dynamic leaf for JIT would be hard
    since it requires to discard outdated code somehow.

  Modified files:
    trunk/tool/ruby_vm/models/bare_instructions.rb
    trunk/tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb


More information about the ruby-cvs mailing list