diff options
Diffstat (limited to 'variable.h')
| -rw-r--r-- | variable.h | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/variable.h b/variable.h index 314ac82df0..f2afead9d3 100644 --- a/variable.h +++ b/variable.h @@ -10,20 +10,18 @@ /* per-object */ -struct gen_ivtbl { -#if !SHAPE_IN_BASIC_FLAGS - uint16_t shape_id; -#endif - uint32_t numiv; - VALUE ivptr[FLEX_ARY_LEN]; -}; +#include "shape.h" -int rb_ivar_generic_ivtbl_lookup(VALUE obj, struct gen_ivtbl **); +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); -#include "shape.h" -#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 */ |
