summaryrefslogtreecommitdiff
path: root/internal/variable.h
diff options
context:
space:
mode:
authorJean Boussier <[email protected]>2025-06-16 11:19:12 +0200
committerJean Boussier <[email protected]>2025-06-17 15:28:05 +0200
commitcd9f447be247478d2eb3da985295735cce20cb23 (patch)
tree1f87f079323e42a71f07b862b6d32daa6260e5b7 /internal/variable.h
parent164486a954e3cf3e716393c5f9a9e2c4dd776993 (diff)
Refactor generic fields to use `T_IMEMO/fields` objects.
Followup: https://github.com/ruby/ruby/pull/13589 This simplify a lot of things, as we no longer need to manually manage the memory, we can use the Read-Copy-Update pattern and avoid numerous race conditions. Co-Authored-By: Étienne Barrié <[email protected]>
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/13626
Diffstat (limited to 'internal/variable.h')
-rw-r--r--internal/variable.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/internal/variable.h b/internal/variable.h
index 8da6c678a5..92017d6184 100644
--- a/internal/variable.h
+++ b/internal/variable.h
@@ -18,7 +18,6 @@
/* variable.c */
void rb_gc_mark_global_tbl(void);
void rb_gc_update_global_tbl(void);
-size_t rb_generic_ivar_memsize(VALUE);
VALUE rb_search_class_path(VALUE);
VALUE rb_attr_delete(VALUE, ID);
void rb_autoload_str(VALUE mod, ID id, VALUE file);
@@ -47,8 +46,7 @@ void rb_gvar_namespace_ready(const char *name);
*/
VALUE rb_mod_set_temporary_name(VALUE, VALUE);
-struct gen_fields_tbl;
-int rb_gen_fields_tbl_get(VALUE obj, ID id, struct gen_fields_tbl **fields_tbl);
+int rb_gen_fields_tbl_get(VALUE obj, ID id, VALUE *fields_obj);
void rb_obj_copy_ivs_to_hash_table(VALUE obj, st_table *table);
void rb_obj_init_too_complex(VALUE obj, st_table *table);
void rb_evict_ivars_to_hash(VALUE obj);