summaryrefslogtreecommitdiff
path: root/gc/default/default.c
AgeCommit message (Collapse)Author
2024-12-19Prefix asan_poison_object with rbPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/12385
2024-12-19Fix compaction in ASAN with RGENGC_CHECK_MODE enabledPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/12385
2024-12-19Don't calculate the aligned slot when unlocking pagePeter Zhu
If we try to use GET_PAGE_HEADER, it can trigger the read barrier. If we try to align on the slot then we end up unlocking the heap page of a lower memory address. Notes: Merged: https://github.com/ruby/ruby/pull/12385
2024-12-19Don't unpoison a NULL objectPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/12385
2024-12-19Unpoison memory before accessing next element of freelistPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/12385
2024-12-16Move special constant check in rb_gc_location to gc.cPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/12359
2024-12-11Fix compilation with MALLOC_ALLOCATED_SIZEJohn Hawthorn
Previously compilation failed with -DMALLOC_ALLOCATED_SIZE=1 Co-authored-by: Matthew Draper <matthew@trebex.net> Notes: Merged: https://github.com/ruby/ruby/pull/12313
2024-12-11[Bug #20941] Bail out when recursing no memoryNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12307
2024-12-05Use rb_gc_enable/rb_gc_disable_no_rest instead of ruby_disable_gcPeter Zhu
We should use the rb_gc_enable/rb_gc_disable_no_rest APIs instead of directly setting the ruby_disable_gc variable. Notes: Merged: https://github.com/ruby/ruby/pull/12264
2024-12-05darray.h does not depend on internal/bits.hPeter Zhu
darray.h no longer depends on internal/bits.h, so we can remove it. Notes: Merged: https://github.com/ruby/ruby/pull/12270
2024-12-05Standardize on the name "modular GC"Peter Zhu
We have name fragmentation for this feature, including "shared GC", "modular GC", and "external GC". This commit standardizes the feature name to "modular GC" and the implementation to "GC library". Notes: Merged: https://github.com/ruby/ruby/pull/12261
2024-11-29rb_gc_impl_malloc can return NULL卜部昌平
Let there be rooms for each GC implementations how to handle multi threaded situations. They can be totally reentrant, or can have their own mutex, or can rely on rb_thread_call_with_gvl. In any ways the allocator (has been, but now officially is) expected to run properly without a GVL. This means there need be a way for them to inform the interpreter about their allocation failures, without relying on raising exceptions. Let them do so by returning NULL. Notes: Merged: https://github.com/ruby/ruby/pull/12188
2024-11-25Use extconf to build external GC modulesMatt Valentine-House
Co-Authored-By: Peter Zhu <peter@peterzhu.ca> Notes: Merged: https://github.com/ruby/ruby/pull/12149