summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-eval/src/eval.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-03-15 09:00:03 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-03-15 09:00:03 +0900
commitf8b31a0db671b71d2794ce866b87596a09c10bf0 (patch)
treef7007492655313cae62406b788f6df653bea94f7 /mrbgems/mruby-eval/src/eval.c
parent4b1e5d47b326d0ca3272370b8d13b85344f929fd (diff)
downloadmruby-f8b31a0db671b71d2794ce866b87596a09c10bf0.tar.gz
mruby-f8b31a0db671b71d2794ce866b87596a09c10bf0.zip
`instance_eval` method does not introduce C function boundary; fix #3508
Diffstat (limited to 'mrbgems/mruby-eval/src/eval.c')
-rw-r--r--mrbgems/mruby-eval/src/eval.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c
index 907e3f666..8b402e78c 100644
--- a/mrbgems/mruby-eval/src/eval.c
+++ b/mrbgems/mruby-eval/src/eval.c
@@ -231,7 +231,6 @@ f_eval(mrb_state *mrb, mrb_value self)
static mrb_value
f_instance_eval(mrb_state *mrb, mrb_value self)
{
- struct mrb_context *c = mrb->c;
mrb_value b;
mrb_int argc; mrb_value *argv;
@@ -246,10 +245,9 @@ f_instance_eval(mrb_state *mrb, mrb_value self)
struct RProc *proc;
mrb_get_args(mrb, "s|zi", &s, &len, &file, &line);
- c->ci->acc = CI_ACC_SKIP;
cv = mrb_singleton_class(mrb, self);
- c->ci->target_class = mrb_class_ptr(cv);
proc = create_proc_from_string(mrb, s, len, mrb_nil_value(), file, line);
+ proc->target_class = mrb_class_ptr(cv);
mrb->c->ci->env = NULL;
mrb_assert(!MRB_PROC_CFUNC_P(proc));
return mrb_exec_irep(mrb, self, proc);