summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-01-02 11:40:32 +0900
committerGitHub <[email protected]>2019-01-02 11:40:32 +0900
commit4ffc280372c1e769e271ff9e34d8dace8c9280ac (patch)
tree631c9abeed19cc241f3d6e4981379fb00c4b48fe /src/gc.c
parentc6f9a09e393dd5630c59b184a4919311c5c3477b (diff)
parent648b57620a6f0bd03ab11db61b1fee343c889dfe (diff)
downloadmruby-4ffc280372c1e769e271ff9e34d8dace8c9280ac.tar.gz
mruby-4ffc280372c1e769e271ff9e34d8dace8c9280ac.zip
Merge pull request #4209 from shuujii/range-embed-edges-in-rrange
range: Embed edges in RRange on boxing environment.
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/gc.c b/src/gc.c
index a52c64bfa..ec52787e8 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -739,14 +739,7 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
break;
case MRB_TT_RANGE:
- {
- struct RRange *r = (struct RRange*)obj;
-
- if (r->edges) {
- mrb_gc_mark_value(mrb, r->edges->beg);
- mrb_gc_mark_value(mrb, r->edges->end);
- }
- }
+ mrb_gc_mark_range(mrb, (struct RRange*)obj);
break;
default:
@@ -870,7 +863,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj, int end)
break;
case MRB_TT_RANGE:
- mrb_free(mrb, ((struct RRange*)obj)->edges);
+ mrb_gc_free_range(mrb, ((struct RRange*)obj));
break;
case MRB_TT_DATA: