From 01cd9c9fade0c1c6f13f11c86e86c0caeefd38bc Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Tue, 23 Dec 2025 11:45:16 -0500 Subject: Add rb_gc_register_pinning_obj --- imemo.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'imemo.c') diff --git a/imemo.c b/imemo.c index 5802929376..8b3018523f 100644 --- a/imemo.c +++ b/imemo.c @@ -54,6 +54,8 @@ rb_imemo_tmpbuf_new(void) VALUE flags = T_IMEMO | (imemo_tmpbuf << FL_USHIFT); NEWOBJ_OF(obj, rb_imemo_tmpbuf_t, 0, flags, sizeof(rb_imemo_tmpbuf_t), NULL); + rb_gc_register_pinning_obj((VALUE)obj); + obj->ptr = NULL; obj->cnt = 0; @@ -101,6 +103,9 @@ struct MEMO * rb_imemo_memo_new(VALUE a, VALUE b, VALUE c) { struct MEMO *memo = IMEMO_NEW(struct MEMO, imemo_memo, 0); + + rb_gc_register_pinning_obj((VALUE)memo); + *((VALUE *)&memo->v1) = a; *((VALUE *)&memo->v2) = b; *((VALUE *)&memo->u3.value) = c; -- cgit v1.2.3