summaryrefslogtreecommitdiff
path: root/variable.h
diff options
context:
space:
mode:
Diffstat (limited to 'variable.h')
-rw-r--r--variable.h21
1 files changed, 9 insertions, 12 deletions
diff --git a/variable.h b/variable.h
index 5c0366de32..f2afead9d3 100644
--- a/variable.h
+++ b/variable.h
@@ -12,19 +12,16 @@
#include "shape.h"
-struct gen_ivtbl {
-#if !SHAPE_IN_BASIC_FLAGS
- uint16_t shape_id;
-#endif
- uint32_t numiv;
- VALUE ivptr[FLEX_ARY_LEN];
-};
+void rb_copy_complex_ivars(VALUE dest, VALUE obj, shape_id_t src_shape_id, st_table *fields_table);
+VALUE rb_obj_fields(VALUE obj, ID field_name);
-int rb_ivar_generic_ivtbl_lookup(VALUE obj, struct gen_ivtbl **);
-
-#if !SHAPE_IN_BASIC_FLAGS
-shape_id_t rb_generic_shape_id(VALUE obj);
-#endif
+static inline VALUE
+rb_obj_fields_no_ractor_check(VALUE obj)
+{
+ return rb_obj_fields(obj, 0);
+}
+void rb_free_rb_global_tbl(void);
+void rb_free_generic_fields_tbl_(void);
#endif /* RUBY_TOPLEVEL_VARIABLE_H */