aboutsummaryrefslogtreecommitdiffstats
path: root/siphash.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-23 09:16:51 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-23 09:16:51 +0000
commit8e3646e2af137b702a3c69556ee89b5173ca37dd (patch)
treebfbd8c553d8a2460d97de63ea19b76a1ba4db022 /siphash.c
parentf9cefe2f9b7fcde71a145acd7158fd4128d5e4bc (diff)
downloadruby-8e3646e2af137b702a3c69556ee89b5173ca37dd.tar.gz
* vm_insnhelper.c (vm_getivar): specify inline instead of static inline.
vm_getivar is called by vm_call_ivar and vm_getinstancevariable. At least with GCC 4.8 and 5.3 on Linux, they are inlining it into vm_call_ivar but not vm_getinstancevariable. By `inline`, they correctly inline it and gains performance. Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]' (greater is better) name built-ruby loop_whileloop 1.001 vm1_ivar* 1.189 vm1_ivar_set* 1.024 Note tha `inline`'s meaning is different between old GCC and C99. Old GCC's inline means C99's extern inline. https://gcc.gnu.org/onlinedocs/gcc/Inline.html Since Ruby specify -std=iso9899:1999, it works like C99. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'siphash.c')
0 files changed, 0 insertions, 0 deletions