summaryrefslogtreecommitdiffhomepage
path: root/src/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel.c')
-rw-r--r--src/kernel.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/kernel.c b/src/kernel.c
index 20f52922d..f1d7700de 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -318,6 +318,7 @@ mrb_obj_clone(mrb_state *mrb, mrb_value self)
}
p = (struct RObject*)mrb_obj_alloc(mrb, mrb_type(self), mrb_obj_class(mrb, self));
p->c = mrb_singleton_class_clone(mrb, self);
+ mrb_field_write_barrier(mrb, (struct RBasic*)p, (struct RBasic*)p->c);
clone = mrb_obj_value(p);
init_copy(mrb, clone, self);
@@ -410,11 +411,8 @@ mrb_obj_extend_m(mrb_state *mrb, mrb_value self)
{
mrb_value *argv;
mrb_int argc;
- mrb_value args;
mrb_get_args(mrb, "*", &argv, &argc);
- args = mrb_ary_new_from_values(mrb, argc, argv);
- argv = (mrb_value*)RARRAY_PTR(args);
return mrb_obj_extend(mrb, argc, argv, self);
}