summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index 0dd93f3332..b9b584ad69 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -97,6 +97,15 @@
#endif /* OPT_STACK_CACHING */
#endif /* OPT_CALL_THREADED_CODE */
+/* likely */
+#if __GNUC__ >= 3
+#define LIKELY(x) (__builtin_expect((x), 1))
+#define UNLIKELY(x) (__builtin_expect((x), 0))
+#else /* __GNUC__ >= 3 */
+#define LIKELY(x) (x)
+#define UNLIKELY(x) (x)
+#endif /* __GNUC__ >= 3 */
+
typedef unsigned long rb_num_t;
/* iseq data type */