diff options
Diffstat (limited to 'variable.h')
| -rw-r--r-- | variable.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/variable.h b/variable.h index 67fe480149..f2afead9d3 100644 --- a/variable.h +++ b/variable.h @@ -1,9 +1,27 @@ +#ifndef RUBY_TOPLEVEL_VARIABLE_H /*-*-C-*-vi:se ft=c:*/ +#define RUBY_TOPLEVEL_VARIABLE_H +/** + * @author Ruby developers <ruby-core@ruby-lang.org> + * @copyright This file is a part of the programming language Ruby. + * Permission is hereby granted, to either redistribute and/or + * modify this file, provided that the conditions mentioned in the + * file COPYING are met. Consult the file for details. + */ /* per-object */ -struct gen_ivtbl { - uint32_t numiv; - VALUE ivptr[FLEX_ARY_LEN]; -}; +#include "shape.h" -struct st_table *rb_ivar_generic_ivtbl(void); +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); + +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 */ |
