Ruby
2.5.0dev(2017-10-22revision60238)
|
#include "insns.inc"
#include <math.h>
#include "constant.h"
#include "internal.h"
#include "probes.h"
#include "probes_helper.h"
#include "ruby/config.h"
#include "debug_counter.h"
#include "vm_args.c"
Go to the source code of this file.
Macros | |
#define | vm_check_frame(a, b, c, d) |
#define | USE_IC_FOR_IVAR 1 |
#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 | VM_PROFILE 0 |
#define | VM_PROFILE_UP(x) |
#define | VM_PROFILE_ATEXIT() |
#define | CHECK_CFP_CONSISTENCY(func) |
#define | id_cmp idCmp |
Enumerations | |
enum | binop_operands_type { bot_others = 0, bot_fixnum, bot_flonum, bot_float } |
#define BUILTIN_CLASS_P | ( | x, | |
k | |||
) | (!SPECIAL_CONST_P(x) && RBASIC_CLASS(x) == k) |
Definition at line 1352 of file vm_insnhelper.c.
#define CHECK_CFP_CONSISTENCY | ( | func | ) |
Definition at line 1864 of file vm_insnhelper.c.
#define CHECK_CMP_NAN | ( | a, | |
b | |||
) | /* do nothing */ |
Definition at line 1492 of file vm_insnhelper.c.
#define EQ_UNREDEFINED_P | ( | t | ) | BASIC_OP_UNREDEFINED_P(BOP_EQ, t##_REDEFINED_OP_FLAG) |
Definition at line 1353 of file vm_insnhelper.c.
#define id_cmp idCmp |
Definition at line 3200 of file vm_insnhelper.c.
#define USE_IC_FOR_IVAR 1 |
Definition at line 924 of file vm_insnhelper.c.
#define vm_check_frame | ( | a, | |
b, | |||
c, | |||
d | |||
) |
Definition at line 196 of file vm_insnhelper.c.
#define VM_PROFILE 0 |
Definition at line 1824 of file vm_insnhelper.c.
#define VM_PROFILE_ATEXIT | ( | ) |
Definition at line 1849 of file vm_insnhelper.c.
#define VM_PROFILE_UP | ( | x | ) |
Definition at line 1848 of file vm_insnhelper.c.
enum binop_operands_type |
Enumerator | |
---|---|
bot_others | |
bot_fixnum | |
bot_flonum | |
bot_float |
Definition at line 3369 of file vm_insnhelper.c.
ALWAYS_INLINE | ( | static VALUE | vm_getivarVALUE, ID, IC, struct rb_call_cache *, int | ) |
NOINLINE | ( | static void | vm_env_write_slowpathconst VALUE *ep, int index, VALUE v | ) |
NORETURN | ( | static void | threadptr_stack_overflowrb_thread_t *, int | ) |
Referenced by ruby_vm_special_exception_copy().
NORETURN | ( | void | rb_threadptr_stack_overflowrb_thread_t *th, int crit | ) |
NORETURN | ( | static void | vm_stack_consistency_errorrb_thread_t *, const rb_control_frame_t *, const VALUE * | ) |
PUREFUNC | ( | static rb_callable_method_entry_t * | check_method_entryVALUE obj, int can_be_svar | ) |
PUREFUNC | ( | static rb_cref_t * | check_crefVALUE, int | ) |
PUREFUNC | ( | static rb_control_frame_t * | current_method_entryrb_thread_t *th, rb_control_frame_t *cfp | ) |
Definition at line 1447 of file vm_insnhelper.c.
References rb_call_cache::class_serial, idEqlP, rb_call_cache::me, rb_call_cache::method_state, rb_call_info::mid, and NULL.
Definition at line 1434 of file vm_insnhelper.c.
References rb_call_cache::class_serial, idEq, rb_call_cache::me, rb_call_cache::method_state, rb_call_info::mid, and NULL.
void rb_error_arity | ( | int | argc, |
int | min, | ||
int | max | ||
) |
Definition at line 325 of file vm_insnhelper.c.
void rb_threadptr_stack_overflow | ( | rb_thread_t * | th, |
int | crit | ||
) |
Definition at line 57 of file vm_insnhelper.c.
References rb_thread_struct::ec, rb_execution_context_struct::errinfo, rb_execution_context_struct::raised_flag, RAISED_STACKOVERFLOW, rb_during_gc(), ruby_error_stackfatal, rb_vm_struct::special_exceptions, TAG_RAISE, TH_JUMP_TAG, and rb_thread_struct::vm.
Definition at line 357 of file vm_insnhelper.c.
const rb_callable_method_entry_t* rb_vm_frame_method_entry | ( | const rb_control_frame_t * | cfp | ) |
Definition at line 536 of file vm_insnhelper.c.
References rb_control_frame_struct::ep.
Referenced by rb_profile_frames(), rb_thread_current_status(), rb_vm_control_frame_id_and_class(), and rb_vm_pop_cfunc_frame().
rb_control_frame_t* FUNC_FASTCALL() rb_vm_opt_struct_aref | ( | rb_thread_t * | th, |
rb_control_frame_t * | reg_cfp | ||
) |
Definition at line 2785 of file vm_insnhelper.c.
References GET_SELF, rb_struct_aref(), and TOPN.
rb_control_frame_t* FUNC_FASTCALL() rb_vm_opt_struct_aset | ( | rb_thread_t * | th, |
rb_control_frame_t * | reg_cfp | ||
) |
Definition at line 2792 of file vm_insnhelper.c.
References GET_SELF, rb_struct_aset(), and TOPN.
void rb_vm_pop_frame | ( | rb_thread_t * | th | ) |
Definition at line 302 of file vm_insnhelper.c.
rb_control_frame_t* rb_vm_push_frame | ( | rb_execution_context_t * | ec, |
const rb_iseq_t * | iseq, | ||
VALUE | type, | ||
VALUE | self, | ||
VALUE | specval, | ||
VALUE | cref_or_me, | ||
const VALUE * | pc, | ||
VALUE * | sp, | ||
int | local_size, | ||
int | stack_max | ||
) |
Definition at line 273 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 713 of file vm_insnhelper.c.
Definition at line 26 of file vm_insnhelper.c.
References NORETURN(), rb_class_real(), rb_obj_alloc(), rb_obj_copy_ivar(), and RBASIC_CLASS.