|
#define | N_OR_RUBY_DEBUG(n) (((n) > 0) ? (n) : RUBY_DEBUG) |
|
#define | VM_CHECK_MODE N_OR_RUBY_DEBUG(0) |
|
#define | VMDEBUG 0 |
| VM Debug Level. More...
|
|
#define | VM_ASSERT(expr) ((void)0) |
|
#define | VM_UNREACHABLE(func) UNREACHABLE |
|
#define | RUBY_VM_THREAD_MODEL 2 |
|
#define | VM_INSN_INFO_TABLE_IMPL 2 |
|
#define | NSIG (sizeof(sigset_t) * CHAR_BIT + 1) |
|
#define | RUBY_NSIG NSIG |
|
#define | RUBY_SIGCHLD (0) |
|
#define | SIGCHLD_LOSSY (0) |
|
#define | WAITPID_USE_SIGCHLD (RUBY_SIGCHLD || SIGCHLD_LOSSY) |
|
#define | va_init_list(a, b) va_start((a)) |
|
#define | RB_ALTSTACK_INIT(var) |
|
#define | RB_ALTSTACK_FREE(var) |
|
#define | RB_ALTSTACK(var) (0) |
|
#define | TAG_NONE RUBY_TAG_NONE |
|
#define | TAG_RETURN RUBY_TAG_RETURN |
|
#define | TAG_BREAK RUBY_TAG_BREAK |
|
#define | TAG_NEXT RUBY_TAG_NEXT |
|
#define | TAG_RETRY RUBY_TAG_RETRY |
|
#define | TAG_REDO RUBY_TAG_REDO |
|
#define | TAG_RAISE RUBY_TAG_RAISE |
|
#define | TAG_THROW RUBY_TAG_THROW |
|
#define | TAG_FATAL RUBY_TAG_FATAL |
|
#define | TAG_MASK RUBY_TAG_MASK |
|
#define | CoreDataFromValue(obj, type) (type*)DATA_PTR(obj) |
|
#define | GetCoreDataFromValue(obj, type, ptr) ((ptr) = CoreDataFromValue((obj), type)) |
|
#define | PATHOBJ_PATH 0 |
|
#define | PATHOBJ_REALPATH 1 |
|
#define | USE_LAZY_LOAD 0 |
|
#define | GetVMPtr(obj, ptr) GetCoreDataFromValue((obj), rb_vm_t, (ptr)) |
|
#define | RUBY_VM_SIZE_ALIGN 4096 |
|
#define | RUBY_VM_THREAD_VM_STACK_SIZE ( 128 * 1024 * sizeof(VALUE)) /* 512 KB or 1024 KB */ |
|
#define | RUBY_VM_THREAD_VM_STACK_SIZE_MIN ( 2 * 1024 * sizeof(VALUE)) /* 8 KB or 16 KB */ |
|
#define | RUBY_VM_THREAD_MACHINE_STACK_SIZE ( 128 * 1024 * sizeof(VALUE)) /* 512 KB or 1024 KB */ |
|
#define | RUBY_VM_THREAD_MACHINE_STACK_SIZE_MIN ( 16 * 1024 * sizeof(VALUE)) /* 64 KB or 128 KB */ |
|
#define | RUBY_VM_FIBER_VM_STACK_SIZE ( 16 * 1024 * sizeof(VALUE)) /* 64 KB or 128 KB */ |
|
#define | RUBY_VM_FIBER_VM_STACK_SIZE_MIN ( 2 * 1024 * sizeof(VALUE)) /* 8 KB or 16 KB */ |
|
#define | RUBY_VM_FIBER_MACHINE_STACK_SIZE ( 64 * 1024 * sizeof(VALUE)) /* 256 KB or 512 KB */ |
|
#define | RUBY_VM_FIBER_MACHINE_STACK_SIZE_MIN ( 16 * 1024 * sizeof(VALUE)) /* 64 KB or 128 KB */ |
|
#define | INTEGER_REDEFINED_OP_FLAG (1 << 0) |
|
#define | FLOAT_REDEFINED_OP_FLAG (1 << 1) |
|
#define | STRING_REDEFINED_OP_FLAG (1 << 2) |
|
#define | ARRAY_REDEFINED_OP_FLAG (1 << 3) |
|
#define | HASH_REDEFINED_OP_FLAG (1 << 4) |
|
#define | SYMBOL_REDEFINED_OP_FLAG (1 << 6) |
|
#define | TIME_REDEFINED_OP_FLAG (1 << 7) |
|
#define | REGEXP_REDEFINED_OP_FLAG (1 << 8) |
|
#define | NIL_REDEFINED_OP_FLAG (1 << 9) |
|
#define | TRUE_REDEFINED_OP_FLAG (1 << 10) |
|
#define | FALSE_REDEFINED_OP_FLAG (1 << 11) |
|
#define | PROC_REDEFINED_OP_FLAG (1 << 12) |
|
#define | BASIC_OP_UNREDEFINED_P(op, klass) (LIKELY((GET_VM()->redefined_flag[(op)]&(klass)) == 0)) |
|
#define | VM_DEBUG_BP_CHECK 0 |
|
#define | VM_DEBUG_VERIFY_METHOD_CACHE (VMDEBUG != 0) |
|
#define | VM_CORE_H_EC_DEFINED 1 |
|
#define | VM_DEFINECLASS_TYPE(x) ((rb_vm_defineclass_type_t)(x) & VM_DEFINECLASS_TYPE_MASK) |
|
#define | VM_DEFINECLASS_FLAG_SCOPED 0x08 |
|
#define | VM_DEFINECLASS_FLAG_HAS_SUPERCLASS 0x10 |
|
#define | VM_DEFINECLASS_SCOPED_P(x) ((x) & VM_DEFINECLASS_FLAG_SCOPED) |
|
#define | VM_DEFINECLASS_HAS_SUPERCLASS_P(x) ((x) & VM_DEFINECLASS_FLAG_HAS_SUPERCLASS) |
|
#define | GetProcPtr(obj, ptr) GetCoreDataFromValue((obj), rb_proc_t, (ptr)) |
|
#define | GetBindingPtr(obj, ptr) GetCoreDataFromValue((obj), rb_binding_t, (ptr)) |
|
#define | VM_CHECKMATCH_TYPE_MASK 0x03 |
|
#define | VM_CHECKMATCH_ARRAY 0x04 |
|
#define | VM_CALL_ARGS_SPLAT (0x01 << VM_CALL_ARGS_SPLAT_bit) |
|
#define | VM_CALL_ARGS_BLOCKARG (0x01 << VM_CALL_ARGS_BLOCKARG_bit) |
|
#define | VM_CALL_FCALL (0x01 << VM_CALL_FCALL_bit) |
|
#define | VM_CALL_VCALL (0x01 << VM_CALL_VCALL_bit) |
|
#define | VM_CALL_ARGS_SIMPLE (0x01 << VM_CALL_ARGS_SIMPLE_bit) |
|
#define | VM_CALL_BLOCKISEQ (0x01 << VM_CALL_BLOCKISEQ_bit) |
|
#define | VM_CALL_KWARG (0x01 << VM_CALL_KWARG_bit) |
|
#define | VM_CALL_KW_SPLAT (0x01 << VM_CALL_KW_SPLAT_bit) |
|
#define | VM_CALL_TAILCALL (0x01 << VM_CALL_TAILCALL_bit) |
|
#define | VM_CALL_SUPER (0x01 << VM_CALL_SUPER_bit) |
|
#define | VM_CALL_ZSUPER (0x01 << VM_CALL_ZSUPER_bit) |
|
#define | VM_CALL_OPT_SEND (0x01 << VM_CALL_OPT_SEND_bit) |
|
#define | FUNC_FASTCALL(x) x |
|
#define | VM_TAGGED_PTR_SET(p, tag) ((VALUE)(p) | (tag)) |
|
#define | VM_TAGGED_PTR_REF(v, mask) ((void *)((v) & ~mask)) |
|
#define | GC_GUARDED_PTR(p) VM_TAGGED_PTR_SET((p), 0x01) |
|
#define | GC_GUARDED_PTR_REF(p) VM_TAGGED_PTR_REF((p), 0x03) |
|
#define | GC_GUARDED_PTR_P(p) (((VALUE)(p)) & 0x01) |
|
#define | VM_ENV_DATA_SIZE ( 3) |
|
#define | VM_ENV_DATA_INDEX_ME_CREF (-2) /* ep[-2] */ |
|
#define | VM_ENV_DATA_INDEX_SPECVAL (-1) /* ep[-1] */ |
|
#define | VM_ENV_DATA_INDEX_FLAGS ( 0) /* ep[ 0] */ |
|
#define | VM_ENV_DATA_INDEX_ENV ( 1) /* ep[ 1] */ |
|
#define | VM_ENV_INDEX_LAST_LVAR (-VM_ENV_DATA_SIZE) |
|
#define | RUBYVM_CFUNC_FRAME_P(cfp) (VM_FRAME_TYPE(cfp) == VM_FRAME_MAGIC_CFUNC) |
|
#define | VM_GUARDED_PREV_EP(ep) GC_GUARDED_PTR(ep) |
|
#define | VM_BLOCK_HANDLER_NONE 0 |
|
#define | RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp) ((cfp)+1) |
|
#define | RUBY_VM_NEXT_CONTROL_FRAME(cfp) ((cfp)-1) |
|
#define | RUBY_VM_VALID_CONTROL_FRAME_P(cfp, ecfp) ((void *)(ecfp) > (void *)(cfp)) |
|
#define | SDR() rb_vmdebug_stack_dump_raw(GET_EC(), GET_EC()->cfp) |
|
#define | SDR2(cfp) rb_vmdebug_stack_dump_raw(GET_EC(), (cfp)) |
|
#define | rb_vm_register_special_exception(sp, e, m) rb_vm_register_special_exception_str(sp, e, rb_usascii_str_new_static((m), (long)rb_strlen_lit(m))) |
|
#define | sysstack_error GET_VM()->special_exceptions[ruby_error_sysstack] |
|
#define | RUBY_CONST_ASSERT(expr) (1/!!(expr)) /* expr must be a compile-time constant */ |
|
#define | VM_STACK_OVERFLOWED_P(cfp, sp, margin) |
|
#define | WHEN_VM_STACK_OVERFLOWED(cfp, sp, margin) if (LIKELY(!VM_STACK_OVERFLOWED_P(cfp, sp, margin))) {(void)0;} else /* overflowed */ |
|
#define | CHECK_VM_STACK_OVERFLOW0(cfp, sp, margin) WHEN_VM_STACK_OVERFLOWED(cfp, sp, margin) vm_stackoverflow() |
|
#define | CHECK_VM_STACK_OVERFLOW(cfp, margin) WHEN_VM_STACK_OVERFLOWED(cfp, (cfp)->sp, margin) vm_stackoverflow() |
|
#define | GET_VM() rb_current_vm() |
|
#define | GET_THREAD() rb_current_thread() |
|
#define | GET_EC() rb_current_execution_context() |
|
#define | RUBY_VM_SET_TIMER_INTERRUPT(ec) ATOMIC_OR((ec)->interrupt_flag, TIMER_INTERRUPT_MASK) |
|
#define | RUBY_VM_SET_INTERRUPT(ec) ATOMIC_OR((ec)->interrupt_flag, PENDING_INTERRUPT_MASK) |
|
#define | RUBY_VM_SET_POSTPONED_JOB_INTERRUPT(ec) ATOMIC_OR((ec)->interrupt_flag, POSTPONED_JOB_INTERRUPT_MASK) |
|
#define | RUBY_VM_SET_TRAP_INTERRUPT(ec) ATOMIC_OR((ec)->interrupt_flag, TRAP_INTERRUPT_MASK) |
|
#define | RUBY_VM_INTERRUPTED(ec) |
|
#define | RUBY_VM_INTERRUPTED_ANY(ec) ((ec)->interrupt_flag & ~(ec)->interrupt_mask) |
|
#define | RUBY_VM_CHECK_INTS(ec) rb_vm_check_ints(ec) |
|
#define | EXEC_EVENT_HOOK_ORIG(ec_, hooks_, flag_, self_, id_, called_id_, klass_, data_, pop_p_) |
|
#define | EXEC_EVENT_HOOK(ec_, flag_, self_, id_, called_id_, klass_, data_) EXEC_EVENT_HOOK_ORIG(ec_, rb_vm_global_hooks(ec_), flag_, self_, id_, called_id_, klass_, data_, 0) |
|
#define | EXEC_EVENT_HOOK_AND_POP_FRAME(ec_, flag_, self_, id_, called_id_, klass_, data_) EXEC_EVENT_HOOK_ORIG(ec_, rb_vm_global_hooks(ec_), flag_, self_, id_, called_id_, klass_, data_, 1) |
|
#define | RUBY_EVENT_COVERAGE_LINE 0x010000 |
|
#define | RUBY_EVENT_COVERAGE_BRANCH 0x020000 |
|
|
enum | ruby_tag_type {
RUBY_TAG_NONE = 0x0,
RUBY_TAG_RETURN = 0x1,
RUBY_TAG_BREAK = 0x2,
RUBY_TAG_NEXT = 0x3,
RUBY_TAG_RETRY = 0x4,
RUBY_TAG_REDO = 0x5,
RUBY_TAG_RAISE = 0x6,
RUBY_TAG_THROW = 0x7,
RUBY_TAG_FATAL = 0x8,
RUBY_TAG_MASK = 0xf,
RUBY_TAG_NONE = 0x0,
RUBY_TAG_RETURN = 0x1,
RUBY_TAG_BREAK = 0x2,
RUBY_TAG_NEXT = 0x3,
RUBY_TAG_RETRY = 0x4,
RUBY_TAG_REDO = 0x5,
RUBY_TAG_RAISE = 0x6,
RUBY_TAG_THROW = 0x7,
RUBY_TAG_FATAL = 0x8,
RUBY_TAG_MASK = 0xf
} |
|
enum | ruby_vm_throw_flags { VM_THROW_NO_ESCAPE_FLAG = 0x8000,
VM_THROW_STATE_MASK = 0xff,
VM_THROW_NO_ESCAPE_FLAG = 0x8000,
VM_THROW_STATE_MASK = 0xff
} |
|
enum | ruby_special_exceptions {
ruby_error_reenter,
ruby_error_nomemory,
ruby_error_sysstack,
ruby_error_stackfatal,
ruby_error_stream_closed,
ruby_special_error_count,
ruby_error_reenter,
ruby_error_nomemory,
ruby_error_sysstack,
ruby_error_stackfatal,
ruby_error_stream_closed,
ruby_special_error_count
} |
|
enum | ruby_basic_operators {
BOP_PLUS,
BOP_MINUS,
BOP_MULT,
BOP_DIV,
BOP_MOD,
BOP_EQ,
BOP_EQQ,
BOP_LT,
BOP_LE,
BOP_LTLT,
BOP_AREF,
BOP_ASET,
BOP_LENGTH,
BOP_SIZE,
BOP_EMPTY_P,
BOP_NIL_P,
BOP_SUCC,
BOP_GT,
BOP_GE,
BOP_NOT,
BOP_NEQ,
BOP_MATCH,
BOP_FREEZE,
BOP_UMINUS,
BOP_MAX,
BOP_MIN,
BOP_CALL,
BOP_AND,
BOP_OR,
BOP_LAST_,
BOP_PLUS,
BOP_MINUS,
BOP_MULT,
BOP_DIV,
BOP_MOD,
BOP_EQ,
BOP_EQQ,
BOP_LT,
BOP_LE,
BOP_LTLT,
BOP_AREF,
BOP_ASET,
BOP_LENGTH,
BOP_SIZE,
BOP_EMPTY_P,
BOP_NIL_P,
BOP_SUCC,
BOP_GT,
BOP_GE,
BOP_NOT,
BOP_NEQ,
BOP_MATCH,
BOP_FREEZE,
BOP_UMINUS,
BOP_MAX,
BOP_MIN,
BOP_CALL,
BOP_AND,
BOP_OR,
BOP_LAST_
} |
|
enum | rb_block_handler_type {
block_handler_type_iseq,
block_handler_type_ifunc,
block_handler_type_symbol,
block_handler_type_proc,
block_handler_type_iseq,
block_handler_type_ifunc,
block_handler_type_symbol,
block_handler_type_proc
} |
|
enum | rb_block_type {
block_type_iseq,
block_type_ifunc,
block_type_symbol,
block_type_proc,
block_type_iseq,
block_type_ifunc,
block_type_symbol,
block_type_proc
} |
|
enum | rb_thread_status {
THREAD_RUNNABLE,
THREAD_STOPPED,
THREAD_STOPPED_FOREVER,
THREAD_KILLED,
THREAD_RUNNABLE,
THREAD_STOPPED,
THREAD_STOPPED_FOREVER,
THREAD_KILLED
} |
|
enum | rb_vm_defineclass_type_t {
VM_DEFINECLASS_TYPE_CLASS = 0x00,
VM_DEFINECLASS_TYPE_SINGLETON_CLASS = 0x01,
VM_DEFINECLASS_TYPE_MODULE = 0x02,
VM_DEFINECLASS_TYPE_MASK = 0x07,
VM_DEFINECLASS_TYPE_CLASS = 0x00,
VM_DEFINECLASS_TYPE_SINGLETON_CLASS = 0x01,
VM_DEFINECLASS_TYPE_MODULE = 0x02,
VM_DEFINECLASS_TYPE_MASK = 0x07
} |
|
enum | vm_check_match_type {
VM_CHECKMATCH_TYPE_WHEN = 1,
VM_CHECKMATCH_TYPE_CASE = 2,
VM_CHECKMATCH_TYPE_RESCUE = 3,
VM_CHECKMATCH_TYPE_WHEN = 1,
VM_CHECKMATCH_TYPE_CASE = 2,
VM_CHECKMATCH_TYPE_RESCUE = 3
} |
|
enum | vm_call_flag_bits {
VM_CALL_ARGS_SPLAT_bit,
VM_CALL_ARGS_BLOCKARG_bit,
VM_CALL_FCALL_bit,
VM_CALL_VCALL_bit,
VM_CALL_ARGS_SIMPLE_bit,
VM_CALL_BLOCKISEQ_bit,
VM_CALL_KWARG_bit,
VM_CALL_KW_SPLAT_bit,
VM_CALL_TAILCALL_bit,
VM_CALL_SUPER_bit,
VM_CALL_ZSUPER_bit,
VM_CALL_OPT_SEND_bit,
VM_CALL__END,
VM_CALL_ARGS_SPLAT_bit,
VM_CALL_ARGS_BLOCKARG_bit,
VM_CALL_FCALL_bit,
VM_CALL_VCALL_bit,
VM_CALL_ARGS_SIMPLE_bit,
VM_CALL_BLOCKISEQ_bit,
VM_CALL_KWARG_bit,
VM_CALL_KW_SPLAT_bit,
VM_CALL_TAILCALL_bit,
VM_CALL_SUPER_bit,
VM_CALL_ZSUPER_bit,
VM_CALL_OPT_SEND_bit,
VM_CALL__END
} |
|
enum | vm_special_object_type {
VM_SPECIAL_OBJECT_VMCORE = 1,
VM_SPECIAL_OBJECT_CBASE,
VM_SPECIAL_OBJECT_CONST_BASE,
VM_SPECIAL_OBJECT_VMCORE = 1,
VM_SPECIAL_OBJECT_CBASE,
VM_SPECIAL_OBJECT_CONST_BASE
} |
|
enum | vm_svar_index {
VM_SVAR_LASTLINE = 0,
VM_SVAR_BACKREF = 1,
VM_SVAR_EXTRA_START = 2,
VM_SVAR_FLIPFLOP_START = 2,
VM_SVAR_LASTLINE = 0,
VM_SVAR_BACKREF = 1,
VM_SVAR_EXTRA_START = 2,
VM_SVAR_FLIPFLOP_START = 2
} |
|
enum | {
DBL_BIGDIG = ((DBL_MANT_DIG + BITSPERDIG) / BITSPERDIG),
COROUTINE_REGISTERS = 6,
COROUTINE_REGISTERS = 8,
COROUTINE_REGISTERS = 0xb0 / 8,
COROUTINE_REGISTERS,
COROUTINE_REGISTERS = 4,
COROUTINE_REGISTERS = 8,
COROUTINE_XMM_REGISTERS = 1+10*2,
COROUTINE_REGISTERS = 4,
NAME_ERR_MESG__MESG,
NAME_ERR_MESG__RECV,
NAME_ERR_MESG__NAME,
NAME_ERR_MESG_COUNT,
raise_opt_cause,
raise_max_opt,
RAISED_EXCEPTION = 1,
RAISED_STACKOVERFLOW = 2,
RAISED_NOMEMORY = 4,
DECIMAL_SIZE_OF_LONG = DECIMAL_SIZE_OF_BITS(CHAR_BIT*sizeof(long)),
JISX0301_DATE_SIZE = DECIMAL_SIZE_OF_LONG+8,
FLAG_RETURNS_128BITS = 1 << (31-31),
FLAG_RETURNS_NOTHING = 1 << (31-30),
FLAG_RETURNS_FP = 1 << (31-29),
FLAG_RETURNS_64BITS = 1 << (31-28),
FLAG_RETURNS_STRUCT = 1 << (31-27),
FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
FLAG_FP_ARGUMENTS = 1 << (31- 6),
FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
FLAG_RETVAL_REFERENCE = 1 << (31- 4),
FLAG_RETURNS_SMST = 1 << (31-31),
FLAG_RETURNS_NOTHING = 1 << (31-30),
FLAG_RETURNS_FP = 1 << (31-29),
FLAG_RETURNS_64BITS = 1 << (31-28),
FLAG_RETURNS_128BITS = 1 << (31-27),
FLAG_COMPAT = 1 << (31- 8),
FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
FLAG_ARG_NEEDS_PSAVE = FLAG_ARG_NEEDS_COPY,
FLAG_FP_ARGUMENTS = 1 << (31- 6),
FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
FLAG_RETVAL_REFERENCE = 1 << (31- 4),
JSON_object_start = 1,
ossl_asn1_info_size = (sizeof(ossl_asn1_info)/sizeof(ossl_asn1_info[0])),
tIGNORED_NL = tLAST_TOKEN + 1,
tCOMMENT,
tEMBDOC_BEG,
tEMBDOC,
tEMBDOC_END,
tHEREDOC_BEG,
tHEREDOC_END,
k__END__,
ORDINAL_PARAM = -1,
NO_PARAM = 0,
NUMPARAM_MAX = 9,
BITS_SIZE = sizeof(bits_t),
BITS_BITLENGTH = ( BITS_SIZE * CHAR_BIT ),
RSTRUCT_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX,
RSTRUCT_EMBED_LEN_MASK = (RUBY_FL_USER2|RUBY_FL_USER1),
RSTRUCT_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+1),
RSTRUCT_TRANSIENT_FLAG = FL_USER3,
RSTRUCT_ENUM_END,
bom_prefix_len = (int)sizeof(bom_prefix) - 1,
MT_MAX_STATE = N,
PCH_NOT_READY,
PCH_FAILED,
PCH_SUCCESS,
ORDINAL_PARAM = -1,
NO_PARAM = 0,
NUMPARAM_MAX = 9,
COMPILATION_FEATURES,
DEFAULT_FEATURES,
LONGEST_SIGNAME = 7,
LEFT,
CHCASE,
LOWER,
UPPER,
AREF_HASH_UNIT = 5,
AREF_HASH_THRESHOLD = 10,
TMOPT_IN,
TMOPT_MAX_,
CALLER_BINDING_SELF,
CALLER_BINDING_CLASS,
CALLER_BINDING_BINDING,
CALLER_BINDING_ISEQ,
CALLER_BINDING_CFP,
VM_FRAME_MAGIC_METHOD = 0x11110001,
VM_FRAME_MAGIC_BLOCK = 0x22220001,
VM_FRAME_MAGIC_CLASS = 0x33330001,
VM_FRAME_MAGIC_TOP = 0x44440001,
VM_FRAME_MAGIC_CFUNC = 0x55550001,
VM_FRAME_MAGIC_IFUNC = 0x66660001,
VM_FRAME_MAGIC_EVAL = 0x77770001,
VM_FRAME_MAGIC_RESCUE = 0x78880001,
VM_FRAME_MAGIC_DUMMY = 0x79990001,
VM_FRAME_MAGIC_MASK = 0x7fff0001,
VM_FRAME_FLAG_PASSED = 0x0010,
VM_FRAME_FLAG_FINISH = 0x0020,
VM_FRAME_FLAG_BMETHOD = 0x0040,
VM_FRAME_FLAG_CFRAME = 0x0080,
VM_FRAME_FLAG_LAMBDA = 0x0100,
VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM = 0x0200,
VM_FRAME_FLAG_CFRAME_KW = 0x0400,
VM_FRAME_FLAG_CFRAME_EMPTY_KW = 0x0800,
VM_ENV_FLAG_LOCAL = 0x0002,
VM_ENV_FLAG_ESCAPED = 0x0004,
VM_ENV_FLAG_WB_REQUIRED = 0x0008,
MINIMUM_REPARSE_BUFFER_PATH_LEN = 4,
SI_USER = 0,
SI_ASYNCIO = 2,
SI_MESGQ,
SI_TIMER,
SI_QUEUE,
SI_KERNEL,
ILL_ILLOPC = 7,
ILL_ILLOPN,
ILL_ILLADR,
ILL_ILLTRP,
ILL_PRVOPC,
ILL_PRVREG,
ILL_COPROC,
ILL_BADSTK,
FPE_INTDIV = 15,
FPE_INTOVF,
FPE_FLTDIV,
FPE_FLTOVF,
FPE_FLTUND,
FPE_FLTRES,
FPE_FLTINV,
FPE_FLTSUB,
SEGV_MAPERR = 23,
SEGV_ACCERR,
BUS_ADRALN = 25,
BUS_ADRERR,
BUS_OBJERR,
CLD_EXITED = 28,
CLD_KILLED,
CLD_DUMPED,
CLD_TRAPPED,
CLD_STOPPED,
CLD_CONTINUED
} |
|
enum | {
NUM_GPR_ARG_REGISTERS = 8,
NUM_FPR_ARG_REGISTERS = 13,
LINKAGE_AREA_GPRS = 6,
JSON_object_first_final = 27,
HEAP_PAGE_ALIGN = (1UL << HEAP_PAGE_ALIGN_LOG),
HEAP_PAGE_ALIGN_MASK = (~(~0UL << HEAP_PAGE_ALIGN_LOG)),
REQUIRED_SIZE_BY_MALLOC = (sizeof(size_t) * 5),
HEAP_PAGE_SIZE = (HEAP_PAGE_ALIGN - REQUIRED_SIZE_BY_MALLOC),
HEAP_PAGE_OBJ_LIMIT = (unsigned int)((HEAP_PAGE_SIZE - sizeof(struct heap_page_header))/sizeof(struct RVALUE)),
HEAP_PAGE_BITMAP_LIMIT = CEILDIV(CEILDIV(HEAP_PAGE_SIZE, sizeof(struct RVALUE)), BITS_BITLENGTH),
HEAP_PAGE_BITMAP_SIZE = (BITS_SIZE * HEAP_PAGE_BITMAP_LIMIT),
HEAP_PAGE_BITMAP_PLANES = USE_RGENGC ? 4 : 1,
cmp_opt_Fixnum,
cmp_opt_String,
cmp_opt_Float,
cmp_optimizable_count,
utf_prefix_len = (int)sizeof(utf_prefix) - 1,
base_dump_size = 8,
TIMER_INTERRUPT_MASK = 0x01,
PENDING_INTERRUPT_MASK = 0x02,
POSTPONED_JOB_INTERRUPT_MASK = 0x04,
TRAP_INTERRUPT_MASK = 0x08,
constat_init = -2,
constat_esc = -1,
constat_seq = 0,
SIGEV_SIGNAL = 0,
SIGEV_NONE,
SIGEV_THREAD
} |
|
|
void | rb_vm_encoded_insn_data_table_init (void) |
|
struct rb_objspace * | rb_objspace_alloc (void) |
|
void | rb_objspace_free (struct rb_objspace *) |
|
void | rb_objspace_call_finalizer (struct rb_objspace *) |
|
| STATIC_ASSERT (rb_vm_tag_buf_offset, offsetof(struct rb_vm_tag, buf) > 0) |
|
| STATIC_ASSERT (rb_vm_tag_buf_end, offsetof(struct rb_vm_tag, buf)+sizeof(rb_jmpbuf_t)< sizeof(struct rb_vm_tag)) |
|
void | rb_ec_set_vm_stack (rb_execution_context_t *ec, VALUE *stack, size_t size) |
|
void | rb_ec_initialize_vm_stack (rb_execution_context_t *ec, VALUE *stack, size_t size) |
|
void | rb_ec_clear_vm_stack (rb_execution_context_t *ec) |
|
RUBY_SYMBOL_EXPORT_BEGIN rb_iseq_t * | rb_iseq_new (const rb_ast_body_t *ast, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, enum iseq_type) |
|
rb_iseq_t * | rb_iseq_new_top (const rb_ast_body_t *ast, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent) |
|
rb_iseq_t * | rb_iseq_new_main (const rb_ast_body_t *ast, VALUE path, VALUE realpath, const rb_iseq_t *parent) |
|
rb_iseq_t * | rb_iseq_new_with_opt (const rb_ast_body_t *ast, VALUE name, VALUE path, VALUE realpath, VALUE first_lineno, const rb_iseq_t *parent, enum iseq_type, const rb_compile_option_t *) |
|
rb_iseq_t * | rb_iseq_new_with_callback (const struct rb_iseq_new_with_callback_callback_func *ifunc, VALUE name, VALUE path, VALUE realpath, VALUE first_lineno, const rb_iseq_t *parent, enum iseq_type, const rb_compile_option_t *) |
|
VALUE | rb_iseq_disasm (const rb_iseq_t *iseq) |
|
int | rb_iseq_disasm_insn (VALUE str, const VALUE *iseqval, size_t pos, const rb_iseq_t *iseq, VALUE child) |
| Disassemble a instruction Iseq -> Iseq inspect object. More...
|
|
VALUE | rb_iseq_coverage (const rb_iseq_t *iseq) |
|
const VALUE * | rb_vm_ep_local_ep (const VALUE *ep) |
|
const VALUE * | rb_vm_proc_local_ep (VALUE proc) |
|
void | rb_vm_block_ep_update (VALUE obj, const struct rb_block *dst, const VALUE *ep) |
|
void | rb_vm_block_copy (VALUE obj, const struct rb_block *dst, const struct rb_block *src) |
|
VALUE | rb_vm_frame_block_handler (const rb_control_frame_t *cfp) |
|
VALUE | rb_thread_alloc (VALUE klass) |
|
VALUE | rb_binding_alloc (VALUE klass) |
|
VALUE | rb_proc_alloc (VALUE klass) |
|
VALUE | rb_proc_dup (VALUE self) |
|
void | rb_vmdebug_stack_dump_raw (const rb_execution_context_t *ec, const rb_control_frame_t *cfp) |
|
void | rb_vmdebug_debug_print_pre (const rb_execution_context_t *ec, const rb_control_frame_t *cfp, const VALUE *_pc) |
|
void | rb_vmdebug_debug_print_post (const rb_execution_context_t *ec, const rb_control_frame_t *cfp) |
|
void | rb_vm_bugreport (const void *) |
|
| NORETURN (void rb_bug_for_fatal_signal(ruby_sighandler_t default_sighandler, int sig, const void *, const char *fmt,...)) |
|
RUBY_SYMBOL_EXPORT_BEGIN VALUE | rb_iseq_eval (const rb_iseq_t *iseq) |
|
VALUE | rb_iseq_eval_main (const rb_iseq_t *iseq) |
|
VALUE | rb_iseq_path (const rb_iseq_t *iseq) |
|
VALUE | rb_iseq_realpath (const rb_iseq_t *iseq) |
|
RUBY_SYMBOL_EXPORT_END VALUE | rb_iseq_pathobj_new (VALUE path, VALUE realpath) |
|
void | rb_iseq_pathobj_set (const rb_iseq_t *iseq, VALUE path, VALUE realpath) |
|
int | rb_ec_frame_method_id_and_class (const rb_execution_context_t *ec, ID *idp, ID *called_idp, VALUE *klassp) |
|
void | rb_ec_setup_exception (const rb_execution_context_t *ec, VALUE mesg, VALUE cause) |
|
VALUE | rb_vm_invoke_proc (rb_execution_context_t *ec, rb_proc_t *proc, int argc, const VALUE *argv, int kw_splat, VALUE block_handler) |
|
VALUE | rb_vm_make_proc_lambda (const rb_execution_context_t *ec, const struct rb_captured_block *captured, VALUE klass, int8_t is_lambda) |
|
VALUE | rb_vm_make_binding (const rb_execution_context_t *ec, const rb_control_frame_t *src_cfp) |
|
VALUE | rb_vm_env_local_variables (const rb_env_t *env) |
|
const rb_env_t * | rb_vm_env_prev_env (const rb_env_t *env) |
|
const VALUE * | rb_binding_add_dynavars (VALUE bindval, rb_binding_t *bind, int dyncount, const ID *dynvars) |
|
void | rb_vm_inc_const_missing_count (void) |
|
void | rb_vm_gvl_destroy (rb_vm_t *vm) |
|
VALUE | rb_vm_call_kw (rb_execution_context_t *ec, VALUE recv, VALUE id, int argc, const VALUE *argv, const rb_callable_method_entry_t *me, int kw_splat) |
|
MJIT_STATIC void | rb_vm_pop_frame (rb_execution_context_t *ec) |
|
void | rb_thread_start_timer_thread (void) |
|
void | rb_thread_stop_timer_thread (void) |
|
void | rb_thread_reset_timer_thread (void) |
|
void | rb_thread_wakeup_timer_thread (int) |
|
rb_control_frame_t * | rb_vm_get_ruby_level_next_cfp (const rb_execution_context_t *ec, const rb_control_frame_t *cfp) |
|
rb_control_frame_t * | rb_vm_get_binding_creatable_next_cfp (const rb_execution_context_t *ec, const rb_control_frame_t *cfp) |
|
int | rb_vm_get_sourceline (const rb_control_frame_t *) |
|
void | rb_vm_stack_to_heap (rb_execution_context_t *ec) |
|
void | ruby_thread_init_stack (rb_thread_t *th) |
|
int | rb_vm_control_frame_id_and_class (const rb_control_frame_t *cfp, ID *idp, ID *called_idp, VALUE *klassp) |
|
void | rb_vm_rewind_cfp (rb_execution_context_t *ec, rb_control_frame_t *cfp) |
|
MJIT_STATIC VALUE | rb_vm_bh_to_procval (const rb_execution_context_t *ec, VALUE block_handler) |
|
void | rb_vm_register_special_exception_str (enum ruby_special_exceptions sp, VALUE exception_class, VALUE mesg) |
|
void | rb_gc_mark_machine_stack (const rb_execution_context_t *ec) |
|
void | rb_vm_rewrite_cref (rb_cref_t *node, VALUE old_klass, VALUE new_klass, rb_cref_t **new_cref_ptr) |
|
MJIT_STATIC const rb_callable_method_entry_t * | rb_vm_frame_method_entry (const rb_control_frame_t *cfp) |
|
VALUE | rb_catch_protect (VALUE t, rb_block_call_func *func, VALUE data, enum ruby_tag_type *stateptr) |
|
VALUE | rb_exc_set_backtrace (VALUE exc, VALUE bt) |
|
int | rb_signal_buff_size (void) |
|
int | rb_signal_exec (rb_thread_t *th, int sig) |
|
void | rb_threadptr_check_signal (rb_thread_t *mth) |
|
void | rb_threadptr_signal_raise (rb_thread_t *th, int sig) |
|
void | rb_threadptr_signal_exit (rb_thread_t *th) |
|
int | rb_threadptr_execute_interrupts (rb_thread_t *, int) |
|
void | rb_threadptr_interrupt (rb_thread_t *th) |
|
void | rb_threadptr_unlock_all_locking_mutexes (rb_thread_t *th) |
|
void | rb_threadptr_pending_interrupt_clear (rb_thread_t *th) |
|
void | rb_threadptr_pending_interrupt_enque (rb_thread_t *th, VALUE v) |
|
VALUE | rb_ec_get_errinfo (const rb_execution_context_t *ec) |
|
void | rb_ec_error_print (rb_execution_context_t *volatile ec, volatile VALUE errinfo) |
|
void | rb_execution_context_update (const rb_execution_context_t *ec) |
|
void | rb_execution_context_mark (const rb_execution_context_t *ec) |
|
void | rb_fiber_close (rb_fiber_t *fib) |
|
void | Init_native_thread (rb_thread_t *th) |
|
void | rb_hook_list_mark (rb_hook_list_t *hooks) |
|
void | rb_hook_list_free (rb_hook_list_t *hooks) |
|
void | rb_hook_list_connect_tracepoint (VALUE target, rb_hook_list_t *list, VALUE tpval, unsigned int target_line) |
|
void | rb_hook_list_remove_tracepoint (rb_hook_list_t *list, VALUE tpval) |
|
void | rb_exec_event_hooks (struct rb_trace_arg_struct *trace_arg, rb_hook_list_t *hooks, int pop_p) |
|
void | rb_vm_trap_exit (rb_vm_t *vm) |
|
RUBY_SYMBOL_EXPORT_BEGIN int | rb_thread_check_trap_pending (void) |
|
VALUE | rb_get_coverages (void) |
|
void | rb_set_coverages (VALUE, int, VALUE) |
|
void | rb_clear_coverages (void) |
|
void | rb_reset_coverages (void) |
|
void | rb_postponed_job_flush (rb_vm_t *vm) |
|