diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2025-12-23 11:45:16 -0500 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2025-12-29 09:03:31 -0500 |
| commit | 01cd9c9fade0c1c6f13f11c86e86c0caeefd38bc (patch) | |
| tree | 99d2c9f2c32643575fca602b7d37e6640f415742 /imemo.c | |
| parent | 56147001ec439a7d6b887402c8a66d3ee625e598 (diff) | |
Add rb_gc_register_pinning_obj
Diffstat (limited to 'imemo.c')
| -rw-r--r-- | imemo.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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; |
