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

ruby-changes:8079

From: ko1 <ko1@a...>
Date: Sun, 28 Sep 2008 16:13:19 +0900 (JST)
Subject: [ruby-changes:8079] Ruby:r19605 (trunk): * vm_exec.c (vm_exec_core): add an UNLIKELY() hint.

ko1	2008-09-28 16:13:06 +0900 (Sun, 28 Sep 2008)

  New Revision: 19605

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19605

  Log:
    * vm_exec.c (vm_exec_core): add an UNLIKELY() hint.
    * vm_insnhelper.h (BASIC_OP_UNREDEFINED_P): add a LIKELY() hint.

  Modified files:
    trunk/ChangeLog
    trunk/vm_exec.c
    trunk/vm_insnhelper.h

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19604)
+++ ChangeLog	(revision 19605)
@@ -1,3 +1,9 @@
+Sun Sep 28 12:36:09 2008  Koichi Sasada  <ko1@a...>
+
+	* vm_exec.c (vm_exec_core): add an UNLIKELY() hint.
+
+	* vm_insnhelper.h (BASIC_OP_UNREDEFINED_P): add a LIKELY() hint.
+
 Sun Sep 28 12:04:18 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* string.c (str_new): sets empty string to coderange 7bit.
Index: vm_exec.c
===================================================================
--- vm_exec.c	(revision 19604)
+++ vm_exec.c	(revision 19605)
@@ -83,7 +83,7 @@
 
 #if OPT_TOKEN_THREADED_CODE || OPT_DIRECT_THREADED_CODE
 #include "vmtc.inc"
-    if (th == 0) {
+    if (UNLIKELY(th == 0)) {
 #if OPT_STACK_CACHING
 	finish_insn_seq[0] = (VALUE)&&LABEL (finish_SC_ax_ax);
 #else
Index: vm_insnhelper.h
===================================================================
--- vm_insnhelper.h	(revision 19604)
+++ vm_insnhelper.h	(revision 19605)
@@ -180,7 +180,7 @@
 
 /* optimize insn */
 #define FIXNUM_2_P(a, b) ((a) & (b) & 1)
-#define BASIC_OP_UNREDEFINED_P(op) ((ruby_vm_redefined_flag & (op)) == 0)
+#define BASIC_OP_UNREDEFINED_P(op) (LIKELY((ruby_vm_redefined_flag & (op)) == 0))
 #define HEAP_CLASS_OF(obj) RBASIC(obj)->klass
 
 #define CALL_SIMPLE_METHOD(num, id, recv) do { \

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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