diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2025-10-15 13:53:57 -0400 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2025-10-15 16:36:46 -0400 |
| commit | 4c426e98a89015de0ccbd52f3ceb92aa71d31bb4 (patch) | |
| tree | bb6a1199bf5c9875116d1cb71940ea8a34a2169d /include/ruby/util.h | |
| parent | b052d706a53e764786093d6d1cade5a9adebbb7b (diff) | |
ZJIT: Use rb_gc_disable() over rb_gc_disable_no_rest()
no_rest() trips an assert inside the GC when we allocate with the GC
disabled this way:
(gc_continue) ../src/gc/default/default.c:2029
(newobj_cache_miss+0x128) [0x105040048] ../src/gc/default/default.c:2370
(rb_gc_impl_new_obj+0x7c) [0x105036374] ../src/gc/default/default.c:2482
(newobj_of) ../src/gc.c:995
(rb_method_entry_alloc+0x40) [0x1051e6c64] ../src/vm_method.c:1102
(rb_method_entry_complement_defined_class) ../src/vm_method.c:1180
(prepare_callable_method_entry+0x14c) [0x1051e87b8] ../src/vm_method.c:1728
(callable_method_entry_or_negative+0x1e8) [0x1051e809c] ../src/vm_method.c:1874
It's tries to continue the GC because it was out of space. Looks like
it's not safe to allocate new objects after using
rb_gc_disable_no_rest(); existing usages use it for malloc calls.
Diffstat (limited to 'include/ruby/util.h')
0 files changed, 0 insertions, 0 deletions
