[ruby-cvs:71781] shyouhei:r64689 (trunk): make opt_case_dispatch leaf

shyouhei at ruby-lang.org shyouhei at ruby-lang.org
Wed Sep 12 10:55:00 JST 2018


shyouhei	2018-09-12 10:55:00 +0900 (Wed, 12 Sep 2018)

  New Revision: 64689

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

  Log:
    make opt_case_dispatch leaf
    
    This instruction can be written without rb_funcall. It not only boosts
    performance of case statements, but also makes room of future JIT
    improvements.  Because opt_case_dispatch is about optimization this
    should not be a bad thing to have.
    
    ----
    
    trunk: ruby 2.6.0dev (2018-09-05 trunk 64634) [x86_64-darwin15]
    ours: ruby 2.6.0dev (2018-09-12 leaf-insn 64688) [x86_64-darwin15]
    last_commit=make opt_case_dispatch leaf
    Calculating -------------------------------------
                              trunk        ours
            vm2_case_lit      1.366       2.012 i/s -       1.000 times in 0.731839s 0.497008s
    
    Comparison:
                         vm2_case_lit
                    ours:         2.0 i/s
                   trunk:         1.4 i/s - 1.47x  slower

  Modified files:
    trunk/compile.c
    trunk/insns.def
    trunk/vm_insnhelper.c


More information about the ruby-cvs mailing list