|
Ruby
3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
|
#include "ruby/internal/config.h"#include <math.h>#include "constant.h"#include "debug_counter.h"#include "internal.h"#include "internal/class.h"#include "internal/compar.h"#include "internal/hash.h"#include "internal/numeric.h"#include "internal/proc.h"#include "internal/random.h"#include "internal/variable.h"#include "variable.h"#include "insns.inc"#include "insns_info.inc"#include "vm_args.c"

Go to the source code of this file.
Macros | |
| #define | vm_check_canary(ec, sp) |
| #define | vm_check_frame(a, b, c, d) |
| #define | vm_push_frame_debug_counter_inc(ec, cfp, t) /* void */ |
| #define | EQ_UNREDEFINED_P(t) BASIC_OP_UNREDEFINED_P(BOP_EQ, t##_REDEFINED_OP_FLAG) |
| #define | CHECK_CMP_NAN(a, b) if (isnan(a) || isnan(b)) return Qfalse; |
| #define | USE_OPT_HIST 0 |
| #define | CHECK_CFP_CONSISTENCY(func) |
| #define | id_cmp idCmp |
| #define | IMEMO_CONST_CACHE_SHAREABLE IMEMO_FL_USER0 |
| #define | VM_TRACE_HOOK(target_event, val) |
Typedefs | |
| typedef VALUE(* | builtin_invoker) (rb_execution_context_t *ec, VALUE self, const VALUE *argv, rb_insn_func_t funcptr) |
Enumerations | |
| enum | method_explorer_type { mexp_search_method, mexp_search_invokeblock, mexp_search_super } |
| #define CHECK_CFP_CONSISTENCY | ( | func | ) |
Definition at line 2926 of file vm_insnhelper.c.
Definition at line 2120 of file vm_insnhelper.c.
| #define EQ_UNREDEFINED_P | ( | t | ) | BASIC_OP_UNREDEFINED_P(BOP_EQ, t##_REDEFINED_OP_FLAG) |
Definition at line 1952 of file vm_insnhelper.c.
| #define id_cmp idCmp |
Definition at line 4659 of file vm_insnhelper.c.
| #define IMEMO_CONST_CACHE_SHAREABLE IMEMO_FL_USER0 |
Definition at line 4715 of file vm_insnhelper.c.
| #define USE_OPT_HIST 0 |
Definition at line 2320 of file vm_insnhelper.c.
| #define vm_check_canary | ( | ec, | |
| sp | |||
| ) |
Definition at line 290 of file vm_insnhelper.c.
| #define vm_check_frame | ( | a, | |
| b, | |||
| c, | |||
| d | |||
| ) |
Definition at line 291 of file vm_insnhelper.c.
| #define vm_push_frame_debug_counter_inc | ( | ec, | |
| cfp, | |||
| t | |||
| ) | /* void */ |
Definition at line 341 of file vm_insnhelper.c.
| #define VM_TRACE_HOOK | ( | target_event, | |
| val | |||
| ) |
Definition at line 5386 of file vm_insnhelper.c.
| typedef VALUE(* builtin_invoker) (rb_execution_context_t *ec, VALUE self, const VALUE *argv, rb_insn_func_t funcptr) |
Definition at line 5622 of file vm_insnhelper.c.
| enum method_explorer_type |
| Enumerator | |
|---|---|
| mexp_search_method | |
| mexp_search_invokeblock | |
| mexp_search_super | |
Definition at line 4557 of file vm_insnhelper.c.
| void Init_vm_stack_canary | ( | void | ) |
Definition at line 5482 of file vm_insnhelper.c.
| void rb_ec_stack_overflow | ( | rb_execution_context_t * | ec, |
| int | crit | ||
| ) |
Definition at line 84 of file vm_insnhelper.c.
References rb_execution_context_struct::errinfo, rb_execution_context_struct::raised_flag, RAISED_STACKOVERFLOW, rb_bug(), and rb_during_gc().
Definition at line 2082 of file vm_insnhelper.c.
Definition at line 2076 of file vm_insnhelper.c.
| void rb_error_arity | ( | int | argc, |
| int | min, | ||
| int | max | ||
| ) |
Definition at line 442 of file vm_insnhelper.c.
Definition at line 3078 of file vm_insnhelper.c.
| rb_event_flag_t rb_iseq_event_flags | ( | const rb_iseq_t * | iseq, |
| size_t | pos | ||
| ) |
Definition at line 1869 of file iseq.c.
Referenced by rb_iseq_disasm_insn(), and rb_iseq_trace_set().
| VALUE rb_make_no_method_exception | ( | VALUE | exc, |
| VALUE | format, | ||
| VALUE | obj, | ||
| int | argc, | ||
| const VALUE * | argv, | ||
| int | priv | ||
| ) |
Definition at line 918 of file vm_eval.c.
References argc, argv, name, rb_ary_new4, rb_eNoMethodError, rb_fstring_lit, rb_name_err_new(), and rb_nomethod_err_new().
| rb_method_definition_t* rb_method_definition_create | ( | rb_method_type_t | type, |
| ID | mid | ||
| ) |
Definition at line 555 of file vm_method.c.
References rb_method_definition_struct::method_serial, rb_method_definition_struct::original_id, and ZALLOC.
| int rb_method_definition_eq | ( | const rb_method_definition_t * | d1, |
| const rb_method_definition_t * | d2 | ||
| ) |
| void rb_method_definition_set | ( | const rb_method_entry_t * | me, |
| rb_method_definition_t * | def, | ||
| void * | opts | ||
| ) |
Definition at line 437 of file vm_method.c.
References rb_method_entry_struct::def, if(), NULL, and VM_METHOD_TYPE_ISEQ.
Definition at line 2218 of file vm_insnhelper.c.
References rb_iseq_struct::body, FALSE, rb_iseq_constant_body::flags, and rb_iseq_constant_body::param.
| bool rb_splat_or_kwargs_p | ( | const struct rb_callinfo *restrict | ci | ) |
Definition at line 2254 of file vm_insnhelper.c.
References IS_ARGS_KW_OR_KW_SPLAT, and IS_ARGS_SPLAT.
| VALUE rb_vm_bh_to_procval | ( | const rb_execution_context_t * | ec, |
| VALUE | block_handler | ||
| ) |
Definition at line 474 of file vm_insnhelper.c.
References Qnil, and VM_BLOCK_HANDLER_NONE.
| VALUE rb_vm_call0 | ( | rb_execution_context_t * | ec, |
| VALUE | , | ||
| ID | , | ||
| int | , | ||
| const VALUE * | , | ||
| const rb_callable_method_entry_t * | , | ||
| int | kw_splat | ||
| ) |
Definition at line 46 of file vm_eval.c.
References argc, rb_calling_info::ci, rb_calling_info::kw_splat, NULL, Qfalse, VM_CALL_KW_SPLAT, VM_CC_ON_STACK, and VM_CI_ON_STACK.
Referenced by rb_check_funcall_basic_kw(), and rb_vm_call_kw().
| bool rb_vm_call_ivar_attrset_p | ( | const vm_call_handler | ch | ) |
Definition at line 3033 of file vm_insnhelper.c.
| void rb_vm_cc_general | ( | const struct rb_callcache * | cc | ) |
Definition at line 3649 of file vm_insnhelper.c.
References rb_callcache::call_, imemo_callcache, IMEMO_TYPE_P, VM_ASSERT, and vm_cc_empty.
| const rb_callable_method_entry_t* rb_vm_frame_method_entry | ( | const rb_control_frame_t * | cfp | ) |
Definition at line 667 of file vm_insnhelper.c.
References rb_control_frame_struct::ep.
Referenced by rb_vm_control_frame_id_and_class(), and rb_vm_pop_cfunc_frame().
| VALUE rb_vm_lvar_exposed | ( | rb_execution_context_t * | ec, |
| int | index | ||
| ) |
Definition at line 5689 of file vm_insnhelper.c.
References rb_execution_context_struct::cfp, and rb_control_frame_struct::ep.
| bool rb_vm_opt_cfunc_p | ( | CALL_CACHE | cc, |
| int | insn | ||
| ) |
Definition at line 5372 of file vm_insnhelper.c.
| void rb_vm_pop_frame | ( | rb_execution_context_t * | ec | ) |
Definition at line 419 of file vm_insnhelper.c.
| void rb_vm_rewrite_cref | ( | rb_cref_t * | cref, |
| VALUE | old_klass, | ||
| VALUE | new_klass, | ||
| rb_cref_t ** | new_cref_ptr | ||
| ) |
Definition at line 867 of file vm_insnhelper.c.
| const struct rb_callcache* rb_vm_search_method_slowpath | ( | const struct rb_callinfo * | ci, |
| VALUE | klass | ||
| ) |
Definition at line 1816 of file vm_insnhelper.c.
References VM_ASSERT.
Definition at line 48 of file vm_insnhelper.c.
References rb_class_real(), rb_obj_alloc(), rb_obj_copy_ivar(), and RBASIC_CLASS.
| STATIC_ASSERT | ( | VM_ENV_DATA_INDEX_FLAGS | , |
| VM_ENV_DATA_INDEX_FLAGS | = =-0 |
||
| ) |
| STATIC_ASSERT | ( | VM_ENV_DATA_INDEX_ME_CREF | , |
| VM_ENV_DATA_INDEX_ME_CREF | = =-2 |
||
| ) |
| STATIC_ASSERT | ( | VM_ENV_DATA_INDEX_SPECVAL | , |
| VM_ENV_DATA_INDEX_SPECVAL | = =-1 |
||
| ) |
1.8.17