diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-19 07:27:03 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-19 07:27:03 +0000 |
commit | 524fb0138b773f2ed01441abbcffeda0271175c5 (patch) | |
tree | e148206db9ab245e40df3b3902236dbf3f3b9f4a /eval_jump.c | |
parent | 0848b68a9b9c9a1f4d58d31e335f6b8a63aaaaf7 (diff) |
refactor extract binop dispatcher
Those opt_something instructions are worth refactoring. They tend to
have similar ways of executions. By extracting the common part,
generated vm_exec_core function shrinks from 26,816 bytes to 26,256
bytes (according to nm(1)).
This changeset introduces negligible performance impact. 3 repeated
runs of optcarrot benchmark on my machine resulted in:
before this: 28.813363684823557, 27.523907198440366, 27.292766121965400
after this: 28.174038497265080, 28.999513875020405, 29.621399800428065
in fps (greater==faster).
----
* vm_insnhelper.c (vm_opt_binop_dispatch): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_jump.c')
0 files changed, 0 insertions, 0 deletions