summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorJean Boussier <[email protected]>2025-04-04 13:28:51 +0200
committerJean Boussier <[email protected]>2025-04-04 16:26:29 +0200
commit085cc6e43473f2a3c81311a07c1fc8efa46c118b (patch)
treecbcbe1bcb361879562e8f1240d584de9dce908f3 /gc.c
parenteb765913c108fa0e71ab7f9852457a914a7d98f0 (diff)
Ractor: revert to moving object bytes, but size pool aware
Using `rb_obj_clone` introduce other problems, such as `initialize_*` callbacks invocation in the context of the parent ractor. So we can revert back to copy the content of the object slots, but in a way that is aware of size pools.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/13070
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/gc.c b/gc.c
index a9c91250df..89d727f3e1 100644
--- a/gc.c
+++ b/gc.c
@@ -2659,14 +2659,6 @@ rb_gc_mark_roots(void *objspace, const char **categoryp)
#define TYPED_DATA_REFS_OFFSET_LIST(d) (size_t *)(uintptr_t)RTYPEDDATA(d)->type->function.dmark
void
-rb_gc_ractor_moved(VALUE dest, VALUE src)
-{
- rb_gc_obj_free(rb_gc_get_objspace(), src);
- MEMZERO((void *)src, char, rb_gc_obj_slot_size(src));
- RBASIC(src)->flags = T_OBJECT | FL_FREEZE; // Avoid mutations using bind_call, etc.
-}
-
-void
rb_gc_mark_children(void *objspace, VALUE obj)
{
if (FL_TEST(obj, FL_EXIVAR)) {