diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2020-05-12 22:46:59 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2020-05-12 22:50:05 -0700 |
commit | fcd257629063a345c48ff2d8057fa8ab910881f2 (patch) | |
tree | d575200d10e3e3a083153741f6b825cf8f38dd73 /tool | |
parent | 61d451d6cec0aa290e5f550f449d067833979b2b (diff) | |
download | ruby-fcd257629063a345c48ff2d8057fa8ab910881f2.tar.gz |
Stop always inlining not-optimized get/setivar
As we have the optimization in _mjit_compile_ivar.erb, we don't use
these functions if we successfully optimize ivars. Therefore it's
consuming code size where we can't optimize it well.
To decrease code size, we'd better avoid inlining them.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=12 --output=all
before --jit: ruby 2.8.0dev (2020-05-13T04:49:21Z master 61d451d6ce) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-05-13T05:46:59Z master a072d323db) +JIT [x86_64-linux]
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 69.8567095356444 73.0360609399857 fps
70.3283101279035 74.6106251902062
72.9135395729567 75.2797344839106
76.6944690546044 77.5705757485036
77.0027971817715 78.2269524040059
78.5069033659736 78.4457471014131
80.1873218604913 80.1273811685818
81.3079566400696 81.7148593303302
81.7285827817226 81.7637234555871
81.7657097839637 82.4520295422720
81.8310114206406 82.7532354379759
81.9886488857863 82.8358739858206
```
Diffstat (limited to 'tool')
-rw-r--r-- | tool/transform_mjit_header.rb | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/tool/transform_mjit_header.rb b/tool/transform_mjit_header.rb index f3ca2c5db0..3e6aa6e0d0 100644 --- a/tool/transform_mjit_header.rb +++ b/tool/transform_mjit_header.rb @@ -60,9 +60,6 @@ module MJITHeader 'vm_opt_aref_with', 'vm_opt_aset_with', 'vm_opt_not', - 'vm_getinstancevariable', - 'vm_setinstancevariable', - 'vm_setivar', ] # Return start..stop of last decl in CODE ending STOP |