[ruby-cvs:65574] shyouhei:r58402 (trunk): refactor extract binop dispatcher

shyouhei at ruby-lang.org shyouhei at ruby-lang.org
Wed Apr 19 16:27:03 JST 2017


shyouhei	2017-04-19 16:27:03 +0900 (Wed, 19 Apr 2017)

  New Revision: 58402

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=58402

  Log:
    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.

  Modified files:
    trunk/vm_insnhelper.c


More information about the ruby-cvs mailing list