summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-10-29 09:48:38 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-10-29 09:48:38 +0000
commitbce116617afc1fe3c94535094b095228c8034015 (patch)
tree7de74a7b3717ba6c900375ad65070c65b3989f35
parent05b9b42918868a0a355a5cf9ce0d92baf4236328 (diff)
* gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return
immediately when obj is not a markable object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--gc.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 910b5c73fd..54413181a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 29 18:42:30 2015 Koichi Sasada <ko1@atdot.net>
+
+ * gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return
+ immediately when obj is not a markable object.
+
Thu Oct 29 18:05:22 2015 Koichi Sasada <ko1@atdot.net>
* encoding.c (rb_enc_check_str): add for performance.
diff --git a/gc.c b/gc.c
index a4ba4289e1..9ef65192f4 100644
--- a/gc.c
+++ b/gc.c
@@ -4250,6 +4250,8 @@ gc_aging(rb_objspace_t *objspace, VALUE obj)
objspace->marked_slots++;
}
+NOINLINE(static void gc_mark_ptr(rb_objspace_t *objspace, VALUE obj));
+
static void
gc_mark_ptr(rb_objspace_t *objspace, VALUE obj)
{