diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-09-26 13:44:51 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-09-30 10:26:38 +0900 |
commit | fba8627dc1c5b191713edeb5fc21cbe0ddde9e3c (patch) | |
tree | 9b84c118511abfff170877c65e352f5f649b2c08 /insns.def | |
parent | dd883de5ba311c38818d0f638a94b4fbc63f5ee5 (diff) |
delete unnecessary branch
At last, not only myself but also your compiler are fully confident
that the method entries pointed from call caches are immutable. We
don't have to worry about silent updates. Just delete the branch
that is now always false.
Calculating -------------------------------------
ours trunk
vm2_poly_same_method 2.142M 2.070M i/s - 6.000M times in 2.801148s 2.898994s
Comparison:
vm2_poly_same_method
ours: 2141979.2 i/s
trunk: 2069683.8 i/s - 1.03x slower
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/2486
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -911,7 +911,7 @@ invokeblock // attr rb_snum_t sp_inc = sp_inc_of_invokeblock(ci); { static struct rb_call_cache cc = { - 0, 0, NULL, NULL, vm_invokeblock_i, + 0, 0, NULL, vm_invokeblock_i, }; VALUE bh = VM_BLOCK_HANDLER_NONE; |