Ruby 3.5.0dev (2025-06-14 revision 32737f8a1728e2d3841f24cbf17f799abd29251a)
variable.h (32737f8a1728e2d3841f24cbf17f799abd29251a)
1#ifndef RUBY_TOPLEVEL_VARIABLE_H /*-*-C-*-vi:se ft=c:*/
2#define RUBY_TOPLEVEL_VARIABLE_H
11/* per-object */
12
13#include "shape.h"
14
16 union {
17 struct {
18 VALUE fields[1];
19 } shape;
20 struct {
21 st_table *table;
22 } complex;
23 } as;
24};
25
26int rb_ivar_generic_fields_tbl_lookup(VALUE obj, struct gen_fields_tbl **);
27void rb_copy_complex_ivars(VALUE dest, VALUE obj, shape_id_t src_shape_id, st_table *fields_table);
28
29void rb_free_rb_global_tbl(void);
30void rb_free_generic_fields_tbl_(void);
31
32#endif /* RUBY_TOPLEVEL_VARIABLE_H */
Definition st.h:79
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40