From f5cce68ba65088bfdd6a377ee32969506bae8ff4 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 18 Feb 2024 21:09:45 +0900 Subject: [PATCH] Stop assuming alias proc in `CI_PROC_SET()` Resolving alias proc should be done by the caller of `CI_PROC_SET()`. The same applies to `mrb_vm_ci_proc_set()`. --- src/vm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index a5c1dee9c..67f4a8a4d 100644 --- a/src/vm.c +++ b/src/vm.c @@ -265,7 +265,8 @@ top_proc(mrb_state *mrb, const struct RProc *proc) #define CI_PROC_SET(ci, p) do {\ ci->proc = p;\ - ci->pc = (p && !MRB_PROC_CFUNC_P(p) && !MRB_PROC_ALIAS_P(p) && p->body.irep) ? p->body.irep->iseq : NULL; \ + mrb_assert(!p || !MRB_PROC_ALIAS_P(p));\ + ci->pc = (p && !MRB_PROC_CFUNC_P(p) && p->body.irep) ? p->body.irep->iseq : NULL;\ } while (0) void