[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]