summaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authorJean Boussier <[email protected]>2024-06-10 15:12:54 +0200
committerJean Boussier <[email protected]>2024-06-11 09:08:48 +0200
commitf0001a4fa7260d0c39e9ddba162f51c549cba2f8 (patch)
treeda935ffbf8ad6f29bbad5aaf31c337cb302496dd /compile.c
parentd827d3252786a5e1153f4e8bfa30f40a2aaafb95 (diff)
compile.c: use putspecialobject for RubyVM::FrozenCore
[Bug #20569] `putobject RubyVM::FrozenCore`, is not serializable, we have to use `putspecialobject VM_SPECIAL_OBJECT_VMCORE`.
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/compile.c b/compile.c
index a0bbcab54b..24b90826cd 100644
--- a/compile.c
+++ b/compile.c
@@ -9882,7 +9882,7 @@ compile_attrasgn(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node
static int
compile_make_shareable_node(rb_iseq_t *iseq, LINK_ANCHOR *ret, LINK_ANCHOR *sub, const NODE *value, bool copy)
{
- ADD_INSN1(ret, value, putobject, rb_mRubyVMFrozenCore);
+ ADD_INSN1(ret, value, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));
ADD_SEQ(ret, sub);
if (copy) {
@@ -9971,7 +9971,7 @@ compile_ensure_shareable_node(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE *dest, con
*. RubyVM::FrozenCore.ensure_shareable(value, const_decl_path(dest))
*/
VALUE path = const_decl_path(dest);
- ADD_INSN1(ret, value, putobject, rb_mRubyVMFrozenCore);
+ ADD_INSN1(ret, value, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));
CHECK(COMPILE(ret, "compile_ensure_shareable_node", value));
ADD_INSN1(ret, value, putobject, path);
RB_OBJ_WRITTEN(iseq, Qundef, path);