summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-04 12:36:46 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-04 12:36:46 +0000
commitb80814c339bb90b01605f7d7753d12c2e0f8b615 (patch)
treef9431aa488baa6111d7397bc8b82c85b7c42f12d /gc.c
parent7e22f102a630b69a0ee6e54fd40b03878f6a8be1 (diff)
* gc.c: added UNLIKELY to probes for optimization.
* vm.c: ditto. * thread.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gc.c b/gc.c
index 32d6079758..3ccf10271a 100644
--- a/gc.c
+++ b/gc.c
@@ -1977,7 +1977,7 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
break;
}
- if (TRACE_OBJECT_FREE_ENABLED()) FIRE_OBJECT_FREE(rb_obj_id(obj));
+ if (UNLIKELY(TRACE_OBJECT_FREE_ENABLED())) FIRE_OBJECT_FREE(rb_obj_id(obj));
if (FL_TEST(obj, FL_EXIVAR)) {
rb_free_generic_ivar((VALUE)obj);
@@ -2159,7 +2159,7 @@ garbage_collect(rb_objspace_t *objspace)
during_gc++;
objspace->count++;
- if (TRACE_GC_BEGIN_ENABLED()) FIRE_GC_BEGIN();
+ if (UNLIKELY(TRACE_GC_BEGIN_ENABLED())) FIRE_GC_BEGIN();
GC_PROF_TIMER_START;
GC_PROF_MARK_TIMER_START;
SET_STACK_END;
@@ -2208,7 +2208,7 @@ garbage_collect(rb_objspace_t *objspace)
GC_PROF_SWEEP_TIMER_STOP;
GC_PROF_TIMER_STOP;
- if (TRACE_GC_END_ENABLED()) FIRE_GC_END();
+ if (UNLIKELY(TRACE_GC_END_ENABLED())) FIRE_GC_END();
if (GC_NOTIFY) printf("end garbage_collect()\n");
return TRUE;
}