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
k0kubun c86fc2bba5 mjit_compile.c: reduce sp motion on JIT
This retries r62655, which was reverted at r63863 for r63763.

tool/ruby_vm/views/_mjit_compile_insn.erb: revert the revert.
tool/ruby_vm/views/_mjit_compile_insn_body.erb: ditto.
tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb: ditto.
tool/ruby_vm/views/_mjit_compile_send.erb: ditto.
tool/ruby_vm/views/mjit_compile.inc.erb: ditto.

tool/ruby_vm/views/_insn_entry.erb: revert half of r63763. The commit
  was originally reverted since changing pc motion was bad for tracing,
  but changing sp motion was totally fine. For JIT, I wanna resurrect
  the sp motion change in r62051.
tool/ruby_vm/models/bare_instructions.rb: ditto.
insns.def: ditto.
vm_insnhelper.c: ditto.
vm_insnhelper.h: ditto.

* benchmark

$ benchmark-driver benchmark.yml --rbenv 'before;after;before --jit;after --jit' --repeat-count 12 -v
before: ruby 2.6.0dev (2018-07-19 trunk 63998) [x86_64-linux]
after: ruby 2.6.0dev (2018-07-19 add-sp 63998) [x86_64-linux]
last_commit=mjit_compile.c: reduce sp motion on JIT
before --jit: ruby 2.6.0dev (2018-07-19 trunk 63998) +JIT [x86_64-linux]
after --jit: ruby 2.6.0dev (2018-07-19 add-sp 63998) +JIT [x86_64-linux]
last_commit=mjit_compile.c: reduce sp motion on JIT
Calculating -------------------------------------
                             before       after  before --jit  after --jit
Optcarrot Lan_Master.nes     51.354      50.238        70.010       72.139 fps

Comparison:
             Optcarrot Lan_Master.nes
             after --jit:        72.1 fps
            before --jit:        70.0 fps - 1.03x  slower
                  before:        51.4 fps - 1.40x  slower
                   after:        50.2 fps - 1.44x  slower

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-19 13:25:22 +00:00
..
_attributes.erb redefinition of a typedef is a C11ism 2018-01-29 08:11:02 +00:00
_c_expr.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
_copyright.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
_insn_entry.erb mjit_compile.c: reduce sp motion on JIT 2018-07-19 13:25:22 +00:00
_insn_len_info.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
_insn_name_info.erb tool/ruby_vm/views/_insn_name_info.erb: Auto-detect the longest insn name 2018-05-02 00:57:50 +00:00
_insn_operand_info.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
_insn_stack_increase.erb __VA_ARGS__ is a C99ism 2018-01-13 10:47:33 +00:00
_insn_type_chars.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
_mjit_compile_insn.erb mjit_compile.c: reduce sp motion on JIT 2018-07-19 13:25:22 +00:00
_mjit_compile_insn_body.erb mjit_compile.c: reduce sp motion on JIT 2018-07-19 13:25:22 +00:00
_mjit_compile_pc_and_sp.erb mjit_compile.c: reduce sp motion on JIT 2018-07-19 13:25:22 +00:00
_mjit_compile_send.erb mjit_compile.c: reduce sp motion on JIT 2018-07-19 13:25:22 +00:00
_mjit_compile_send_guard.erb _mjit_compile_send.erb: retry inlining attr_reader 2018-05-03 08:47:32 +00:00
_notice.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
_trace_instruction.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
insns.inc.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
insns_info.inc.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
mjit_compile.inc.erb mjit_compile.c: reduce sp motion on JIT 2018-07-19 13:25:22 +00:00
opt_sc.inc.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
optinsn.inc.erb tool/ruby_vm support for pre-2.3 BASERUBY 2018-01-12 08:38:10 +00:00
optunifs.inc.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
vm.inc.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
vmtc.inc.erb delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00