variable.c: merge mrb_vm_const_set to mrb_const_set

Inline vm part to the VM itself.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2025-04-19 18:11:02 +09:00
parent 03719490eb
commit 8f120971b5
3 changed files with 4 additions and 13 deletions
-1
View File
@@ -171,7 +171,6 @@ void mrb_vm_special_set(mrb_state*, mrb_sym, mrb_value);
mrb_value mrb_vm_cv_get(mrb_state*, mrb_sym);
void mrb_vm_cv_set(mrb_state*, mrb_sym, mrb_value);
mrb_value mrb_vm_const_get(mrb_state*, mrb_sym);
void mrb_vm_const_set(mrb_state*, mrb_sym, mrb_value);
size_t mrb_obj_iv_tbl_memsize(mrb_value);
mrb_value mrb_obj_iv_inspect(mrb_state*, struct RObject*);
void mrb_obj_iv_set_force(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v);
+1 -11
View File
@@ -865,17 +865,7 @@ mrb_const_set(mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v)
if (mrb_type(v) == MRB_TT_CLASS || mrb_type(v) == MRB_TT_MODULE) {
mrb_class_name_class(mrb, mrb_class_ptr(mod), mrb_class_ptr(v), sym);
}
mrb_iv_set(mrb, mod, sym, v);
}
void
mrb_vm_const_set(mrb_state *mrb, mrb_sym sym, mrb_value v)
{
struct RClass *c;
c = MRB_PROC_TARGET_CLASS(mrb->c->ci->proc);
if (!c) c = mrb->object_class;
mrb_obj_iv_set(mrb, (struct RObject*)c, sym, v);
mrb_obj_iv_set(mrb, mrb_obj_ptr(mod), sym, v);
}
MRB_API void
+3 -1
View File
@@ -1642,8 +1642,10 @@ RETRY_TRY_BLOCK:
}
CASE(OP_SETCONST, BB) {
mrb_vm_const_set(mrb, irep->syms[b], regs[a]);
ci = mrb->c->ci;
struct RClass *c = MRB_PROC_TARGET_CLASS(ci->proc);
if (!c) c = mrb->object_class;
mrb_const_set(mrb, mrb_obj_value(c), irep->syms[b], regs[a]);
NEXT;
}