ruby-changes:36334
From: normal <ko1@a...>
Date: Fri, 14 Nov 2014 06:56:00 +0900 (JST)
Subject: [ruby-changes:36334] normal:r48415 (trunk): insns.def (opt_succ): remove Time#succ optimization
normal 2014-11-14 06:55:28 +0900 (Fri, 14 Nov 2014) New Revision: 48415 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=48415 Log: insns.def (opt_succ): remove Time#succ optimization Time#succ is a deprecated method and not frequently used, so this wastes icache in vm_exec_core. Using bloat-o-meter in the Linux kernel source to shows a small reduction on my x86-64 system: $ ~/linux/scripts/bloat-o-meter ruby.before ruby.after add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-57 (-57) function old new delta vm_exec_core 24216 24159 -57 [Feature #10501] Modified files: trunk/ChangeLog trunk/insns.def Index: insns.def =================================================================== --- insns.def (revision 48414) +++ insns.def (revision 48415) @@ -2105,10 +2105,6 @@ opt_succ https://github.com/ruby/ruby/blob/trunk/insns.def#L2105 BASIC_OP_UNREDEFINED_P(BOP_SUCC, STRING_REDEFINED_OP_FLAG)) { val = rb_str_succ(recv); } - else if (RBASIC_CLASS(recv) == rb_cTime && - BASIC_OP_UNREDEFINED_P(BOP_SUCC, TIME_REDEFINED_OP_FLAG)) { - val = rb_time_succ(recv); - } else { goto INSN_LABEL(normal_dispatch); Index: ChangeLog =================================================================== --- ChangeLog (revision 48414) +++ ChangeLog (revision 48415) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Fri Nov 14 06:54:06 2014 Eric Wong <e@8...> + + * insns.def (opt_succ): remove Time#succ optimization + [Feature #10501] + Fri Nov 14 05:29:46 2014 Koichi Sasada <ko1@a...> * gc.c: refactoring. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/