14#include "internal/static_assert.h"
22#ifdef rb_method_basic_definition_p
23# undef rb_method_basic_definition_p
120#define RUBY_DTRACE_CREATE_HOOK(name, arg) \
121 RUBY_DTRACE_HOOK(name##_CREATE, arg)
122#define RUBY_DTRACE_HOOK(name, arg) \
124 if (UNLIKELY(RUBY_DTRACE_##name##_ENABLED())) { \
126 const char *dtrace_file = rb_source_location_cstr(&dtrace_line); \
127 if (!dtrace_file) dtrace_file = ""; \
128 RUBY_DTRACE_##name(arg, dtrace_file, dtrace_line); \
#define MJIT_SYMBOL_EXPORT_END
#define MJIT_SYMBOL_EXPORT_BEGIN
char str[HTML_ESCAPE_MAX_LEN+1]
void rb_print_backtrace(void)
VALUE rb_backtrace_to_str_ary(VALUE obj)
void rb_backtrace_each(VALUE(*iter)(VALUE recv, VALUE str), VALUE output)
VALUE rb_vm_backtrace_locations(int argc, const VALUE *argv, struct rb_execution_context_struct *ec)
VALUE rb_yield_1(VALUE val)
VALUE rb_check_funcall_basic_kw(VALUE, ID, VALUE, int, const VALUE *, int)
Calls a method only if it is the basic method of ancestor otherwise returns Qundef;.
VALUE rb_check_block_call(VALUE, ID, int, const VALUE *, rb_block_call_func_t, VALUE)
const void ** rb_vm_get_insns_address_table(void)
int rb_ec_obj_respond_to(struct rb_execution_context_struct *ec, VALUE obj, ID id, int priv)
void rb_check_funcall_hook(int, VALUE, ID, int, const VALUE *, VALUE)
int rb_vm_add_root_module(VALUE module)
VALUE rb_vm_backtrace(int argc, const VALUE *argv, struct rb_execution_context_struct *ec)
void rb_backtrace_print_as_bugreport(void)
VALUE rb_vm_top_self(void)
const char * rb_type_str(enum ruby_value_type type)
int rb_vm_check_optimizable_mid(VALUE mid)
void rb_vm_each_stack_value(void *ptr, void(*cb)(VALUE, void *), void *ctx)
VALUE rb_eql_opt(VALUE obj1, VALUE obj2)
st_table * rb_vm_fstring_table(void)
VALUE ruby_vm_special_exception_copy(VALUE)
VALUE rb_obj_is_thread(VALUE obj)
void rb_vm_mark(void *ptr)
int rb_backtrace_p(VALUE obj)
VALUE rb_yield_refine_block(VALUE refinement, VALUE refinements)
VALUE rb_equal_opt(VALUE obj1, VALUE obj2)
VALUE rb_backtrace_to_location_ary(VALUE obj)
void rb_vm_check_redefinition_by_prepend(VALUE klass)
rb_serial_t rb_next_class_serial(void)
VALUE rb_vm_thread_backtrace(int argc, const VALUE *argv, VALUE thval)
VALUE rb_yield_force_blockarg(VALUE values)
VALUE rb_check_funcall_default(VALUE, ID, int, const VALUE *, VALUE)
VALUE rb_check_funcall_with_hook_kw(VALUE recv, ID mid, int argc, const VALUE *argv, rb_check_funcall_hook *hook, VALUE arg, int kw_splat)
VALUE rb_check_funcall_with_hook(VALUE recv, ID mid, int argc, const VALUE *argv, rb_check_funcall_hook *hook, VALUE arg)
VALUE rb_lambda_call(VALUE obj, ID mid, int argc, const VALUE *argv, rb_block_call_func_t bl_proc, int min_argc, int max_argc, VALUE data2)
void rb_check_stack_overflow(void)
void rb_backtrace_use_iseq_first_lineno_for_last_location(VALUE self)
const struct rb_callcache * rb_vm_search_method_slowpath(const struct rb_callinfo *ci, VALUE klass)
const char * rb_source_location_cstr(int *pline)
VALUE rb_source_location(int *pline)
void rb_vm_pop_cfunc_frame(void)
VALUE rb_vm_thread_backtrace_locations(int argc, const VALUE *argv, VALUE thval)
VALUE rb_make_backtrace(void)
VALUE rb_current_realfilepath(void)
VALUE rb_ec_backtrace_object(const struct rb_execution_context_struct *ec)
void rb_vm_inc_const_missing_count(void)
rb_block_call_func * rb_block_call_func_t
VALUE type(ANYARGS)
ANYARGS-ed function type.
Internal header for rb_serial_t.
unsigned LONG_LONG rb_serial_t
ruby_value_type
C-level type of an object.