summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-14 19:23:02 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-14 19:23:02 +0000
commite7bb5d44e639692a6694f71d2f8c1a0d95899950 (patch)
treeabeb57da083cbf80079da15717b25cdda8a20203
parentea476e3678cb46a8aca48a7ce055d11a1ea74dc6 (diff)
iseq.c (rb_iseq_mark): reduce NULL checks
iseq_location_setup always sets path, label and base_label fields, and the only caller of iseq_location_setup (prepare_iseq_build) will always pass non-nil `name' and `path' arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--iseq.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b8de0b96c6..850483473a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Aug 15 04:16:13 2015 Eric Wong <e@80x24.org>
+
+ * iseq.c (rb_iseq_mark): reduce NULL checks
+
Fri Aug 14 18:50:57 2015 Eric Wong <e@80x24.org>
* method.h (METHOD_ENTRY_VISI_SET): cast visi to int
diff --git a/iseq.c b/iseq.c
index e9b84a1589..9b32c0a20d 100644
--- a/iseq.c
+++ b/iseq.c
@@ -108,9 +108,9 @@ rb_iseq_mark(const rb_iseq_t *iseq)
const struct rb_iseq_constant_body *body = iseq->body;
RUBY_MARK_UNLESS_NULL(body->mark_ary);
- RUBY_MARK_UNLESS_NULL(body->location.label);
- RUBY_MARK_UNLESS_NULL(body->location.base_label);
- RUBY_MARK_UNLESS_NULL(body->location.path);
+ rb_gc_mark(body->location.label);
+ rb_gc_mark(body->location.base_label);
+ rb_gc_mark(body->location.path);
RUBY_MARK_UNLESS_NULL(body->location.absolute_path);
}