1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool/ruby_vm/views
Takashi Kokubun c14b67b2a8
Check frozen flag on MJIT setinstancevariable
It does not seem to have a significant performance impact, hopefully?

```
$ benchmark-driver -v benchmark.yml --rbenv 'before --jit;after --jit' --repeat-count=24 --output=all
before --jit: ruby 2.7.0dev (2019-09-03T21:02:24Z master 77596fb7a9) +JIT [x86_64-linux]
after --jit: ruby 2.7.0dev (2019-09-04T01:54:44Z master 7363e22d79) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    48.44054595799523     71.67010255902900 fps
                            71.32797692837639     71.97846863769546
                            72.51921961607691     78.87360980544105
                            73.54082925611047     79.80408132389941
                            74.03503843709451     79.85739528572826
                            74.04863857926493     79.89850834901381
                            75.30266276129467     80.34607233076015
                            75.69063990896244     80.88474397425360
                            75.70458132587405     81.09234267781642
                            77.39842764662852     82.13766823612643
                            77.76922944068329     82.20398304840373
                            81.17984044023393     82.26722630628272
                            82.85235776076533     82.71375902781254
                            83.04906099135320     82.75893420702198
                            83.10214168136230     82.79668965325972
                            83.71456007558125     82.85131667916379
                            84.06658306760725     82.95676565411722
                            84.25690684305728     83.19972846225775
                            84.27938663923503     83.28510503845854
                            84.45467716218090     83.41003730434703
                            84.51563186125925     83.67773614721280
                            84.56139892968321     84.02082201151110
                            84.69819452180658     84.10495346787033
                            84.78125989622576     84.47867803506055
```

Note for backporter:
test_jit's `success_count` would be 1 in Ruby 2.6, since 2.7 introduced
"MJIT recompile" on JIT-ed code cancel.

[Bug #16139]
2019-09-04 11:10:21 +09:00
..
_attributes.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
_c_expr.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
_copyright.erb [ci skip] grammers in comments 2019-04-23 10:27:44 +09:00
_insn_entry.erb vm.inc now in C99 2019-01-25 14:09:10 +00:00
_insn_len_info.erb _insn_len_info.erb: add ASSERT_VM_INSTRUCTION_SIZE 2019-01-31 05:00:41 +00:00
_insn_name_info.erb _insn_name_info.erb: use C99 2019-01-31 04:46:03 +00:00
_insn_operand_info.erb _insn_operand_info.erb: use C99 2019-01-31 05:22:58 +00:00
_insn_sp_pc_dependency.erb Introduce frame-omitted method inlining 2019-04-16 17:02:16 +00:00
_insn_stack_increase.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
_insn_type_chars.erb _insn_type_chars.erb: use C99 2019-01-31 05:36:17 +00:00
_leaf_helpers.erb _leaf_helpers.erb: some functions are not leaf 2019-02-01 04:39:47 +00:00
_mjit_compile_insn.erb Invalidate JIT-ed code if ISeq is moved by GC.compact 2019-04-20 05:48:22 +00:00
_mjit_compile_insn_body.erb MJIT Support for getblockparamproxy 2019-07-14 18:04:19 +09:00
_mjit_compile_ivar.erb Check frozen flag on MJIT setinstancevariable 2019-09-04 11:10:21 +09:00
_mjit_compile_pc_and_sp.erb Prefer using vm_base_ptr rather than cfp->bp 2019-03-25 14:26:11 +00:00
_mjit_compile_send.erb Revert "Avoid corrupting VM stack on inlined setlocal" 2019-07-03 03:37:25 +09:00
_notice.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
_sp_inc_helpers.erb Arrange as same as comment and return statement 2018-12-27 09:09:42 +00:00
_trace_instruction.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
insns.inc.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
insns_info.inc.erb Introduce frame-omitted method inlining 2019-04-16 17:02:16 +00:00
mjit_compile.inc.erb MJIT Support for getblockparamproxy 2019-07-14 18:04:19 +09:00
opt_sc.inc.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
optinsn.inc.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
optunifs.inc.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
vm.inc.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00
vmtc.inc.erb delete emacs mode lines [ci skip] 2018-12-27 06:12:09 +00:00