Ruby
3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
|
#include "debug_counter.h"
Go to the source code of this file.
Data Structures | |
struct | rb_callinfo_kwarg |
struct | rb_callinfo |
struct | rb_callcache |
struct | rb_call_data |
struct | rb_class_cc_entries |
struct | rb_class_cc_entries::rb_class_cc_entries_entry |
Macros | |
#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 | VM_CALL_KW_SPLAT_MUT (0x01 << VM_CALL_KW_SPLAT_MUT_bit) |
#define | USE_EMBED_CI 1 |
#define | CI_EMBED_FLAG 0x01 |
#define | CI_EMBED_ARGC_SHFT (CI_EMBED_TAG_bits) |
#define | CI_EMBED_ARGC_MASK ((((VALUE)1)<<CI_EMBED_ARGC_bits) - 1) |
#define | CI_EMBED_FLAG_SHFT (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits) |
#define | CI_EMBED_FLAG_MASK ((((VALUE)1)<<CI_EMBED_FLAG_bits) - 1) |
#define | CI_EMBED_ID_SHFT (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits + CI_EMBED_FLAG_bits) |
#define | CI_EMBED_ID_MASK ((((VALUE)1)<<CI_EMBED_ID_bits) - 1) |
#define | vm_ci_new(mid, flag, argc, kwarg) vm_ci_new_(mid, flag, argc, kwarg, __FILE__, __LINE__) |
#define | vm_ci_new_runtime(mid, flag, argc, kwarg) vm_ci_new_runtime_(mid, flag, argc, kwarg, __FILE__, __LINE__) |
#define | VM_CI_EMBEDDABLE_P(mid, flag, argc, kwarg) |
#define | vm_ci_new_id(mid, flag, argc, must_zero) |
#define | VM_CALLINFO_NOT_UNDER_GC IMEMO_FL_USER0 |
#define | VM_CI_ON_STACK(mid_, flags_, argc_, kwarg_) |
#define | VM_CALLCACHE_UNMARKABLE IMEMO_FL_USER0 |
#define | VM_CC_ON_STACK(clazz, call, aux, cme) |
#define | vm_cc_empty() rb_vm_empty_cc() |
Typedefs | |
typedef VALUE(* | vm_call_handler) (struct rb_execution_context_struct *ec, struct rb_control_frame_struct *cfp, struct rb_calling_info *calling) |
Functions | |
const struct rb_callcache * | rb_vm_empty_cc (void) |
void | rb_vm_ccs_free (struct rb_class_cc_entries *ccs) |
Definition in file vm_callinfo.h.
#define CI_EMBED_ARGC_MASK ((((VALUE)1)<<CI_EMBED_ARGC_bits) - 1) |
Definition at line 91 of file vm_callinfo.h.
#define CI_EMBED_ARGC_SHFT (CI_EMBED_TAG_bits) |
Definition at line 90 of file vm_callinfo.h.
#define CI_EMBED_FLAG 0x01 |
Definition at line 89 of file vm_callinfo.h.
#define CI_EMBED_FLAG_MASK ((((VALUE)1)<<CI_EMBED_FLAG_bits) - 1) |
Definition at line 93 of file vm_callinfo.h.
#define CI_EMBED_FLAG_SHFT (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits) |
Definition at line 92 of file vm_callinfo.h.
#define CI_EMBED_ID_MASK ((((VALUE)1)<<CI_EMBED_ID_bits) - 1) |
Definition at line 95 of file vm_callinfo.h.
#define CI_EMBED_ID_SHFT (CI_EMBED_TAG_bits + CI_EMBED_ARGC_bits + CI_EMBED_FLAG_bits) |
Definition at line 94 of file vm_callinfo.h.
#define USE_EMBED_CI 1 |
Definition at line 70 of file vm_callinfo.h.
#define VM_CALL_ARGS_BLOCKARG (0x01 << VM_CALL_ARGS_BLOCKARG_bit) |
Definition at line 32 of file vm_callinfo.h.
#define VM_CALL_ARGS_SIMPLE (0x01 << VM_CALL_ARGS_SIMPLE_bit) |
Definition at line 35 of file vm_callinfo.h.
#define VM_CALL_ARGS_SPLAT (0x01 << VM_CALL_ARGS_SPLAT_bit) |
Definition at line 31 of file vm_callinfo.h.
#define VM_CALL_BLOCKISEQ (0x01 << VM_CALL_BLOCKISEQ_bit) |
Definition at line 36 of file vm_callinfo.h.
#define VM_CALL_FCALL (0x01 << VM_CALL_FCALL_bit) |
Definition at line 33 of file vm_callinfo.h.
#define VM_CALL_KW_SPLAT (0x01 << VM_CALL_KW_SPLAT_bit) |
Definition at line 38 of file vm_callinfo.h.
#define VM_CALL_KW_SPLAT_MUT (0x01 << VM_CALL_KW_SPLAT_MUT_bit) |
Definition at line 43 of file vm_callinfo.h.
#define VM_CALL_KWARG (0x01 << VM_CALL_KWARG_bit) |
Definition at line 37 of file vm_callinfo.h.
#define VM_CALL_OPT_SEND (0x01 << VM_CALL_OPT_SEND_bit) |
Definition at line 42 of file vm_callinfo.h.
#define VM_CALL_SUPER (0x01 << VM_CALL_SUPER_bit) |
Definition at line 40 of file vm_callinfo.h.
#define VM_CALL_TAILCALL (0x01 << VM_CALL_TAILCALL_bit) |
Definition at line 39 of file vm_callinfo.h.
#define VM_CALL_VCALL (0x01 << VM_CALL_VCALL_bit) |
Definition at line 34 of file vm_callinfo.h.
#define VM_CALL_ZSUPER (0x01 << VM_CALL_ZSUPER_bit) |
Definition at line 41 of file vm_callinfo.h.
#define VM_CALLCACHE_UNMARKABLE IMEMO_FL_USER0 |
Definition at line 293 of file vm_callinfo.h.
#define VM_CALLINFO_NOT_UNDER_GC IMEMO_FL_USER0 |
Definition at line 239 of file vm_callinfo.h.
#define vm_cc_empty | ( | ) | rb_vm_empty_cc() |
Definition at line 385 of file vm_callinfo.h.
#define VM_CC_ON_STACK | ( | clazz, | |
call, | |||
aux, | |||
cme | |||
) |
Definition at line 305 of file vm_callinfo.h.
#define VM_CI_EMBEDDABLE_P | ( | mid, | |
flag, | |||
argc, | |||
kwarg | |||
) |
Definition at line 184 of file vm_callinfo.h.
Definition at line 180 of file vm_callinfo.h.
#define vm_ci_new_id | ( | mid, | |
flag, | |||
argc, | |||
must_zero | |||
) |
Definition at line 190 of file vm_callinfo.h.
#define vm_ci_new_runtime | ( | mid, | |
flag, | |||
argc, | |||
kwarg | |||
) | vm_ci_new_runtime_(mid, flag, argc, kwarg, __FILE__, __LINE__) |
Definition at line 181 of file vm_callinfo.h.
#define VM_CI_ON_STACK | ( | mid_, | |
flags_, | |||
argc_, | |||
kwarg_ | |||
) |
Definition at line 256 of file vm_callinfo.h.
typedef VALUE(* vm_call_handler) (struct rb_execution_context_struct *ec, struct rb_control_frame_struct *cfp, struct rb_calling_info *calling) |
Definition at line 267 of file vm_callinfo.h.
enum vm_call_flag_bits |
Definition at line 14 of file vm_callinfo.h.
void rb_vm_ccs_free | ( | struct rb_class_cc_entries * | ccs | ) |
Definition at line 2918 of file gc.c.
References RB_DEBUG_COUNTER_INC.
const struct rb_callcache* rb_vm_empty_cc | ( | void | ) |