Project

General

Profile

« Previous | Next » 

Revision 524fb013

Added by shyouhei (Shyouhei Urabe) about 8 years ago

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