1#ifndef INTERNAL_VARIABLE_H
2#define INTERNAL_VARIABLE_H
11#include "ruby/internal/config.h"
20#define ROBJECT_TRANSIENT_FLAG FL_USER2
23void rb_gc_mark_global_tbl(
void);
24void rb_gc_update_global_tbl(
void);
25size_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);
41int rb_obj_evacuate_ivs_to_hash_table(
ID key,
VALUE val, st_data_t arg);
43RUBY_SYMBOL_EXPORT_BEGIN
45void rb_mark_generic_ivar(
VALUE);
52MJIT_SYMBOL_EXPORT_BEGIN
59void rb_ensure_iv_list_size(
VALUE obj, uint32_t len, uint32_t newsize);
61attr_index_t rb_obj_ivar_set(
VALUE obj,
ID id,
VALUE val);
65ROBJ_TRANSIENT_P(
VALUE obj)
75ROBJ_TRANSIENT_SET(
VALUE obj)
83ROBJ_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 VALUE
Type that represents a Ruby object.
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.