1#ifndef INTERNAL_VARIABLE_H
2#define INTERNAL_VARIABLE_H
11#include "ruby/internal/config.h"
19#define ROBJECT_TRANSIENT_FLAG FL_USER13
22void rb_gc_mark_global_tbl(
void);
23void rb_gc_update_global_tbl(
void);
24size_t rb_generic_ivar_memsize(
VALUE);
34void rb_gvar_ractor_local(
const char *name);
35static inline bool ROBJ_TRANSIENT_P(
VALUE obj);
36static inline void ROBJ_TRANSIENT_SET(
VALUE obj);
37static inline void ROBJ_TRANSIENT_UNSET(
VALUE obj);
38uint32_t rb_obj_ensure_iv_index_mapping(
VALUE obj,
ID id);
40RUBY_SYMBOL_EXPORT_BEGIN
42void rb_mark_generic_ivar(
VALUE);
49MJIT_SYMBOL_EXPORT_BEGIN
54void rb_init_iv_list(
VALUE obj);
58ROBJ_TRANSIENT_P(
VALUE obj)
68ROBJ_TRANSIENT_SET(
VALUE obj)
76ROBJ_TRANSIENT_UNSET(
VALUE obj)
#define FL_UNSET_RAW
Old name of RB_FL_UNSET_RAW.
#define FL_TEST_RAW
Old name of RB_FL_TEST_RAW.
#define FL_SET_RAW
Old name of RB_FL_SET_RAW.
void rb_gvar_setter_t(VALUE val, ID id, VALUE *data)
Type that represents a global variable setter function.
rb_gvar_setter_t rb_gvar_readonly_setter
This function just raises rb_eNameError.
VALUE rb_gvar_getter_t(ID id, VALUE *data)
Type that represents a global variable getter function.
#define _(args)
This was a transition path from K&R to ANSI.
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.
uintptr_t VALUE
Type that represents a Ruby object.