summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-28 07:13:06 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-28 07:13:06 +0000
commit574027ba0371ab2e6fdb84e0634ec72d02cd6ff7 (patch)
tree8f6f8552ebe043ce65376e38495004dfed113078
parent8d397604bf72d5efb525da5c3291f1197bcd3e9f (diff)
* vm_exec.c (vm_exec_core): add an UNLIKELY() hint.
* vm_insnhelper.h (BASIC_OP_UNREDEFINED_P): add a LIKELY() hint. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--vm_exec.c2
-rw-r--r--vm_insnhelper.h2
3 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 90f81752a6..8a9cabdb04 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Sep 28 12:36:09 2008 Koichi Sasada <ko1@atdot.net>
+
+ * 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@ruby-lang.org>
* string.c (str_new): sets empty string to coderange 7bit.
diff --git a/vm_exec.c b/vm_exec.c
index 392fde0cf7..fc04fc6a1d 100644
--- a/vm_exec.c
+++ b/vm_exec.c
@@ -83,7 +83,7 @@ vm_exec_core(rb_thread_t *th, VALUE initial)
#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
diff --git a/vm_insnhelper.h b/vm_insnhelper.h
index 6e931e1622..1d2bdafdad 100644
--- a/vm_insnhelper.h
+++ b/vm_insnhelper.h
@@ -180,7 +180,7 @@ extern VALUE ruby_vm_redefined_flag;
/* 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 { \