diff options
author | Peter Zhu <[email protected]> | 2024-05-03 12:00:24 -0400 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2024-07-03 09:03:40 -0400 |
commit | 51bd816517941798c63e587a5a9f3caf69cd510e (patch) | |
tree | c0ad93459be4e0ae63f3e8ed3f56f93bda581a0c /yjit.c | |
parent | 9aa62bda46bf7f9de91a95c31fa09dafd23def37 (diff) |
[Feature #20470] Split GC into gc_impl.c
This commit splits gc.c into two files:
- gc.c now only contains code not specific to Ruby GC. This includes
code to mark objects (which the GC implementation may choose not to
use) and wrappers for internal APIs that the implementation may need
to use (e.g. locking the VM).
- gc_impl.c now contains the implementation of Ruby's GC. This includes
marking, sweeping, compaction, and statistics. Most importantly,
gc_impl.c only uses public APIs in Ruby and a limited set of functions
exposed in gc.c. This allows us to build gc_impl.c independently of
Ruby and plug Ruby's GC into itself.
Diffstat (limited to 'yjit.c')
-rw-r--r-- | yjit.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1065,7 +1065,7 @@ rb_IMEMO_TYPE_P(VALUE imemo, enum imemo_type imemo_type) void rb_assert_cme_handle(VALUE handle) { - RUBY_ASSERT_ALWAYS(rb_objspace_markable_object_p(handle)); + RUBY_ASSERT_ALWAYS(!rb_objspace_garbage_object_p(handle)); RUBY_ASSERT_ALWAYS(IMEMO_TYPE_P(handle, imemo_ment)); } |