|
Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
#include "insns.inc"#include "insns_info.inc"#include <math.h>#include "constant.h"#include "internal.h"#include "ruby/config.h"#include "debug_counter.h"#include "variable.h"#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 | BUILTIN_CLASS_P(x, k) (!SPECIAL_CONST_P(x) && RBASIC_CLASS(x) == k) |
| #define | EQ_UNREDEFINED_P(t) BASIC_OP_UNREDEFINED_P(BOP_EQ, t##_REDEFINED_OP_FLAG) |
| #define | CHECK_CMP_NAN(a, b) /* do nothing */ |
| #define | USE_OPT_HIST 0 |
| #define | CHECK_CFP_CONSISTENCY(func) |
| #define | id_cmp idCmp |
| #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) |
| #define BUILTIN_CLASS_P | ( | x, | |
| k | |||
| ) | (!SPECIAL_CONST_P(x) && RBASIC_CLASS(x) == k) |
Definition at line 1663 of file vm_insnhelper.c.
| #define CHECK_CFP_CONSISTENCY | ( | func | ) |
| #define CHECK_CMP_NAN | ( | a, | |
| b | |||
| ) | /* do nothing */ |
Definition at line 1823 of file vm_insnhelper.c.
| #define EQ_UNREDEFINED_P | ( | t | ) | BASIC_OP_UNREDEFINED_P(BOP_EQ, t##_REDEFINED_OP_FLAG) |
Definition at line 1664 of file vm_insnhelper.c.
| #define id_cmp idCmp |
Definition at line 4070 of file vm_insnhelper.c.
| #define USE_OPT_HIST 0 |
Definition at line 2004 of file vm_insnhelper.c.
| #define vm_check_canary | ( | ec, | |
| sp | |||
| ) |
Definition at line 257 of file vm_insnhelper.c.
| #define vm_check_frame | ( | a, | |
| b, | |||
| c, | |||
| d | |||
| ) |
Definition at line 258 of file vm_insnhelper.c.
| #define VM_TRACE_HOOK | ( | target_event, | |
| val | |||
| ) |
Definition at line 4764 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 4996 of file vm_insnhelper.c.
| ALWAYS_INLINE | ( | static VALUE | vm_call_iseq_setup_normalrb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const rb_callable_method_entry_t *me, int opt_pc, int param_size, int local_size | ) |
| ALWAYS_INLINE | ( | static VALUE | vm_getivarVALUE, ID, IVC, struct rb_call_cache *, int | ) |
Definition at line 4856 of file vm_insnhelper.c.
| NOINLINE | ( | static VALUE | vm_invoke_block_opt_callrb_execution_context_t *ec, rb_control_frame_t *reg_cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, VALUE block_handler | ) |
| NOINLINE | ( | static void | vm_env_write_slowpathconst VALUE *ep, int index, VALUE v | ) |
| NOINLINE | ( | static void | vm_tracerb_execution_context_t *ec, rb_control_frame_t *reg_cfp, const VALUE *pc | ) |
| NORETURN | ( | MJIT_STATIC void | rb_ec_stack_overflowrb_execution_context_t *ec, int crit | ) |
| NORETURN | ( | static void | ec_stack_overflowrb_execution_context_t *ec, int | ) |
| NORETURN | ( | static void | unmatched_redefinitionconst char *type, VALUE cbase, ID id, VALUE old | ) |
| NORETURN | ( | static void | vm_raise_method_missingrb_execution_context_t *ec, int argc, const VALUE *argv, VALUE obj, int call_status | ) |
| NORETURN | ( | static void | vm_stack_consistency_errorconst rb_execution_context_t *ec, const rb_control_frame_t *, const VALUE * | ) |
| NORETURN | ( | static void | vm_stackoverflowvoid | ) |
| PUREFUNC | ( | static rb_callable_method_entry_t * | check_method_entryVALUE obj, int can_be_svar | ) |
| PUREFUNC | ( | static rb_control_frame_t * | current_method_entryconst rb_execution_context_t *ec, rb_control_frame_t *cfp | ) |
| PUREFUNC | ( | static rb_cref_t * | check_crefVALUE, int | ) |
| MJIT_STATIC void rb_ec_stack_overflow | ( | rb_execution_context_t * | ec, |
| int | crit | ||
| ) |
Definition at line 67 of file vm_insnhelper.c.
References crit, rb_execution_context_struct::errinfo, rb_execution_context_struct::raised_flag, RAISED_STACKOVERFLOW, and rb_during_gc().
Definition at line 1783 of file vm_insnhelper.c.
References rb_call_data::ci, idEqlP, and rb_call_info::mid.
Definition at line 1775 of file vm_insnhelper.c.
References rb_call_data::ci, idEq, and rb_call_info::mid.
| MJIT_STATIC void rb_error_arity | ( | int | argc, |
| int | min, | ||
| int | max | ||
| ) |
Definition at line 387 of file vm_insnhelper.c.
| rb_event_flag_t rb_iseq_event_flags | ( | const rb_iseq_t * | iseq, |
| size_t | pos | ||
| ) |
| rb_method_definition_t* rb_method_definition_create | ( | rb_method_type_t | type, |
| ID | mid | ||
| ) |
Definition at line 348 of file vm_method.c.
| MJIT_FUNC_EXPORTED int rb_method_definition_eq | ( | const rb_method_definition_t * | d1, |
| const rb_method_definition_t * | d2 | ||
| ) |
Definition at line 1504 of file vm_method.c.
| void rb_method_definition_set | ( | const rb_method_entry_t * | me, |
| rb_method_definition_t * | def, | ||
| void * | opts | ||
| ) |
Definition at line 232 of file vm_method.c.
| MJIT_STATIC bool rb_simple_iseq_p | ( | const rb_iseq_t * | iseq | ) |
Definition at line 1919 of file vm_insnhelper.c.
References rb_iseq_struct::body, FALSE, rb_iseq_constant_body::flags, iseq, and rb_iseq_constant_body::param.
| MJIT_STATIC VALUE rb_vm_bh_to_procval | ( | const rb_execution_context_t * | ec, |
| VALUE | block_handler | ||
| ) |
Definition at line 419 of file vm_insnhelper.c.
References block_handler, 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 | ||
| ) |
| MJIT_STATIC const rb_callable_method_entry_t* rb_vm_frame_method_entry | ( | const rb_control_frame_t * | cfp | ) |
Definition at line 612 of file vm_insnhelper.c.
References cfp, rb_control_frame_struct::ep, and me.
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 5060 of file vm_insnhelper.c.
References cfp, rb_execution_context_struct::cfp, rb_control_frame_struct::ep, and index.
| rb_control_frame_t* FUNC_FASTCALL() rb_vm_opt_struct_aref | ( | rb_execution_context_t * | ec, |
| rb_control_frame_t * | reg_cfp | ||
| ) |
Definition at line 3467 of file vm_insnhelper.c.
References GET_SELF, rb_struct_aref(), reg_cfp, and TOPN.
| rb_control_frame_t* FUNC_FASTCALL() rb_vm_opt_struct_aset | ( | rb_execution_context_t * | ec, |
| rb_control_frame_t * | reg_cfp | ||
| ) |
Definition at line 3474 of file vm_insnhelper.c.
References GET_SELF, rb_struct_aset(), reg_cfp, and TOPN.
| MJIT_STATIC void rb_vm_pop_frame | ( | rb_execution_context_t * | ec | ) |
Definition at line 364 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 801 of file vm_insnhelper.c.
| MJIT_FUNC_EXPORTED void rb_vm_search_method_slowpath | ( | struct rb_call_data * | cd, |
| VALUE | klass | ||
| ) |
Definition at line 1467 of file vm_insnhelper.c.
References call, cc, rb_call_data::cc, ci, rb_call_data::ci, klass, me, and rb_callable_method_entry().
| MJIT_STATIC VALUE ruby_vm_special_exception_copy | ( | VALUE | exc | ) |
Definition at line 34 of file vm_insnhelper.c.
References exc, rb_class_real(), rb_obj_alloc(), rb_obj_copy_ivar(), and RBASIC_CLASS.