Ruby 1.9.2p136(2010-12-25revision30365)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Defines | Typedefs | Enumerations | Functions

# vm_eval.c File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | rescue_funcall_args
struct | iter_method_arg
## Defines
#define | NOEX_OK NOEX_NOSUPER
#define | type_case(t) case t: return #t;
#define | NOEX_MISSING 0x80
## Typedefs
typedef enum call_type | call_type
## Enumerations
enum | call_type { CALL_PUBLIC, CALL_FCALL, CALL_VCALL, CALL_TYPE_MAX }
## Functions
static VALUE | method_missing (VALUE obj, ID id, int argc, const VALUE *argv, int call_status)
static VALUE | rb_vm_set_finish_env (rb_thread_t *th)
static VALUE | vm_yield_with_cref (rb_thread_t *th, int argc, const VALUE *argv, const NODE *cref)
static VALUE | vm_yield (rb_thread_t *th, int argc, const VALUE *argv)
static VALUE | vm_backtrace (rb_thread_t *th, int lev)
static int | vm_backtrace_each (rb_thread_t *th, int lev, void(*init)(void *), rb_backtrace_iter_func *iter, void *arg)
static NODE * | vm_cref_push (rb_thread_t *th, VALUE klass, int noex, rb_block_t *blockptr)
static VALUE | vm_exec (rb_thread_t *th)
static void | vm_set_eval_stack (rb_thread_t *th, VALUE iseqval, const NODE *cref)
static int | vm_collect_local_variables_in_heap (rb_thread_t *th, VALUE *dfp, VALUE ary)
static VALUE | send_internal (int argc, const VALUE *argv, VALUE recv, call_type scope)
static VALUE | vm_call0 (rb_thread_t *th, VALUE recv, VALUE id, int argc, const VALUE *argv, const rb_method_entry_t *me)
VALUE | rb_vm_call (rb_thread_t *th, VALUE recv, VALUE id, int argc, const VALUE *argv, const rb_method_entry_t *me)
static VALUE | vm_call_super (rb_thread_t *th, int argc, const VALUE *argv)
VALUE | rb_call_super (int argc, const VALUE *argv)
static void | stack_check (void)
static rb_method_entry_t * | rb_search_method_entry (VALUE recv, ID mid)
static int | rb_method_call_status (rb_thread_t *th, rb_method_entry_t *me, call_type scope, VALUE self)
static VALUE | rb_call0 (VALUE recv, ID mid, int argc, const VALUE *argv, call_type scope, VALUE self)
static VALUE | check_funcall_exec (struct rescue_funcall_args *args)
static VALUE | check_funcall_failed (struct rescue_funcall_args *args, VALUE e)
static VALUE | check_funcall (VALUE recv, ID mid, int argc, VALUE *argv)
VALUE | rb_check_funcall (VALUE recv, ID mid, int argc, VALUE *argv)
static const char * | rb_type_str (enum ruby_value_type type)
static VALUE | rb_call (VALUE recv, ID mid, int argc, const VALUE *argv, call_type scope)
| NORETURN (static void raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv, VALUE obj, int call_status))
static VALUE | rb_method_missing (int argc, const VALUE *argv, VALUE obj)
static void | raise_method_missing (rb_thread_t *th, int argc, const VALUE *argv, VALUE obj, int last_call_status)
void | rb_raise_method_missing (rb_thread_t *th, int argc, VALUE *argv, VALUE obj, int call_status)
VALUE | rb_apply (VALUE recv, ID mid, VALUE args)
| Calls a method.
VALUE | rb_funcall (VALUE recv, ID mid, int n,...)
| Calls a method.
VALUE | rb_funcall2 (VALUE recv, ID mid, int argc, const VALUE *argv)
| Calls a method.
VALUE | rb_funcall3 (VALUE recv, ID mid, int argc, const VALUE *argv)
| Calls a method.
VALUE | rb_funcall_passing_block (VALUE recv, ID mid, int argc, const VALUE *argv)
VALUE | rb_f_send (int argc, VALUE *argv, VALUE recv)
VALUE | rb_f_public_send (int argc, VALUE *argv, VALUE recv)
static VALUE | rb_yield_0 (int argc, const VALUE *argv)
VALUE | rb_yield (VALUE val)
VALUE | rb_yield_values (int n,...)
VALUE | rb_yield_values2 (int argc, const VALUE *argv)
VALUE | rb_yield_splat (VALUE values)
static VALUE | loop_i (void)
static VALUE | rb_f_loop (VALUE self)
VALUE | rb_iterate (VALUE(*it_proc)(VALUE), VALUE data1, VALUE(*bl_proc)(ANYARGS), VALUE data2)
static VALUE | iterate_method (VALUE obj)
VALUE | rb_block_call (VALUE obj, ID mid, int argc, VALUE *argv, VALUE(*bl_proc)(ANYARGS), VALUE data2)
VALUE | rb_each (VALUE obj)
static VALUE | eval_string_with_cref (VALUE self, VALUE src, VALUE scope, NODE *cref, const char *volatile file, volatile int line)
static VALUE | eval_string (VALUE self, VALUE src, VALUE scope, const char *file, int line)
VALUE | rb_f_eval (int argc, VALUE *argv, VALUE self)
VALUE | rb_eval_string (const char *str)
VALUE | rb_eval_string_protect (const char *str, int *state)
VALUE | rb_eval_string_wrap (const char *str, int *state)
VALUE | rb_eval_cmd (VALUE cmd, VALUE arg, int level)
static VALUE | yield_under (VALUE under, VALUE self, VALUE values)
static VALUE | eval_under (VALUE under, VALUE self, VALUE src, const char *file, int line)
static VALUE | specific_eval (int argc, VALUE *argv, VALUE klass, VALUE self)
VALUE | rb_obj_instance_eval (int argc, VALUE *argv, VALUE self)
VALUE | rb_obj_instance_exec (int argc, VALUE *argv, VALUE self)
VALUE | rb_mod_module_eval (int argc, VALUE *argv, VALUE mod)
VALUE | rb_mod_module_exec (int argc, VALUE *argv, VALUE mod)
static VALUE | rb_f_throw (int argc, VALUE *argv)
void | rb_throw_obj (VALUE tag, VALUE value)
void | rb_throw (const char *tag, VALUE val)
static VALUE | catch_i (VALUE tag, VALUE data)
static VALUE | rb_f_catch (int argc, VALUE *argv)
VALUE | rb_catch (const char *tag, VALUE(*func)(), VALUE data)
VALUE | rb_catch_obj (VALUE tag, VALUE(*func)(), VALUE data)
static VALUE | rb_f_caller (int argc, VALUE *argv)
static int | print_backtrace (void *arg, VALUE file, int line, VALUE method)
void | rb_backtrace (void)
VALUE | rb_make_backtrace (void)
VALUE | rb_thread_backtrace (VALUE thval)
int | rb_backtrace_each (rb_backtrace_iter_func *iter, void *arg)
static VALUE | rb_f_local_variables (void)
VALUE | rb_f_block_given_p (void)
VALUE | rb_current_realfilepath (void)
void | Init_vm_eval (void)

## Define Documentation

#define NOEX_MISSING 0x80

Definition at line 485 of file vm_eval.c.

Referenced by method_missing(), raise_method_missing(), and rb_raise_method_missing().

#define NOEX_OK NOEX_NOSUPER

Definition at line 207 of file vm_eval.c.

Referenced by check_funcall(), rb_call0(), and rb_method_call_status().

#define type_case | ( |  | t | ) | case t: return #t;

Referenced by rb_type_str().

## Typedef Documentation

typedef enum call_type call_type

## Enumeration Type Documentation

enum call_type

Enumerator:

  CALL_PUBLIC |
  CALL_FCALL |
  CALL_VCALL |
  CALL_TYPE_MAX |

Definition at line 25 of file vm_eval.c.

## Function Documentation

static VALUE catch_i | ( | VALUE | tag,
|  | VALUE | data
| ) |  | `[static]`

Definition at line 1455 of file vm_eval.c.

References rb_yield_0().

Referenced by rb_f_catch().

static VALUE check_funcall | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | VALUE * | argv
| ) |  | `[static]`

Definition at line 266 of file vm_eval.c.

References argc, rescue_funcall_args::argc, argv, rescue_funcall_args::argv, CALL_FCALL, check_funcall_exec(), check_funcall_failed(), CLASS_OF, GET_THREAD, ID2SYM, rb_thread_struct::method_missing_reason, NOEX_OK, Qundef, rb_eNoMethodError, rb_method_basic_definition_p(), rb_method_call_status(), rb_rescue2(), rb_search_method_entry(), rescue_funcall_args::recv, stack_check(), rescue_funcall_args::sym, and vm_call0().

Referenced by rb_check_funcall().

static VALUE check_funcall_exec | ( | struct rescue_funcall_args * | args | ) | `[static]`

Definition at line 246 of file vm_eval.c.

References rescue_funcall_args::argc, rescue_funcall_args::argv, new_args, RARRAY_PTR, rb_ary_new4(), rb_ary_unshift(), rb_funcall2(), RB_GC_GUARD, rescue_funcall_args::recv, and rescue_funcall_args::sym.

Referenced by check_funcall().

static VALUE check_funcall_failed | ( | struct rescue_funcall_args * | args,
|  | VALUE | e
| ) |  | `[static]`

Definition at line 257 of file vm_eval.c.

References Qundef, rb_exc_raise(), rb_respond_to(), rescue_funcall_args::recv, rescue_funcall_args::sym, and SYM2ID.

Referenced by check_funcall().

static VALUE eval_string | ( | VALUE | self,
|  | VALUE | src,
|  | VALUE | scope,
|  | const char * | file,
|  | int | line
| ) |  | `[static]`

Definition at line 1068 of file vm_eval.c.

References eval_string_with_cref().

Referenced by rb_eval_cmd(), rb_eval_string(), and rb_f_eval().

static VALUE eval_string_with_cref | ( | VALUE | self,
|  | VALUE | src,
|  | VALUE | scope,
|  | NODE * | cref,
|  | const char *volatile | file,
|  | volatile int | line
| ) |  | `[static]`

Definition at line 951 of file vm_eval.c.

References rb_thread_struct::base_block, rb_env_t::block, rb_thread_struct::cfp, CHECK_STACK_OVERFLOW, CONST_ID, rb_binding_t::env, env, rb_thread_struct::errinfo, EXEC_TAG, rb_binding_t::filename, GET_THREAD, GetBindingPtr, GetEnvPtr, GetISeqPtr, INT2FIX, rb_control_frame_t::iseq, rb_block_struct::iseq, JUMP_TAG, rb_binding_t::line_no, rb_iseq_struct::local_table_size, rb_thread_struct::mild_compile_error, NIL_P, NULL, OBJ_FROZEN, rb_thread_struct::parse_in_eval, POP_TAG, PUSH_TAG, Qnil, Qundef, RARRAY_LEN, RARRAY_PTR, rb_attr_get(), rb_cBinding, rb_eRuntimeError, rb_eTypeError, rb_exc_raise(), rb_get_backtrace(), rb_iseq_compile(), rb_iseq_disasm(), rb_ivar_set(), rb_obj_classname(), rb_obj_is_kind_of(), rb_raise(), rb_sourcefile(), rb_sourceline(), rb_str_append(), rb_str_cat(), rb_str_dup(), rb_str_new2(), rb_str_update(), rb_vm_get_ruby_level_next_cfp(), rb_vm_make_env_object(), result, RSTRING_LEN, RSTRING_PTR, RUBY_VM_GET_BLOCK_PTR_IN_CFP, rb_block_struct::self, rb_iseq_struct::stack_max, T_ARRAY, T_STRING, TAG_RAISE, TYPE, vm_backtrace(), vm_exec(), and vm_set_eval_stack().

Referenced by eval_string(), and eval_under().

static VALUE eval_under | ( | VALUE | under,
|  | VALUE | self,
|  | VALUE | src,
|  | const char * | file,
|  | int | line
| ) |  | `[static]`

Definition at line 1225 of file vm_eval.c.

References eval_string_with_cref(), GET_THREAD, NOEX_PUBLIC, NULL, Qnil, rb_safe_level, SafeStringValue, StringValue, and vm_cref_push().

Referenced by specific_eval().

void Init_vm_eval | ( | void |  | ) |

Definition at line 1753 of file vm_eval.c.

References rb_add_method(), rb_cBasicObject, rb_cModule, rb_define_global_function(), rb_define_method(), rb_define_private_method(), rb_f_block_given_p(), rb_f_caller(), rb_f_catch(), rb_f_eval(), rb_f_local_variables(), rb_f_loop(), rb_f_public_send(), rb_f_send(), rb_f_throw(), rb_intern, rb_method_missing(), rb_mKernel, rb_mod_module_eval(), rb_mod_module_exec(), rb_obj_instance_eval(), rb_obj_instance_exec(), and VM_METHOD_TYPE_OPTIMIZED.

Referenced by Init_eval().

static VALUE iterate_method | ( | VALUE | obj | ) | `[static]`

Definition at line 923 of file vm_eval.c.

References iter_method_arg::argc, iter_method_arg::argv, CALL_FCALL, iter_method_arg::mid, iter_method_arg::obj, and rb_call().

Referenced by rb_block_call().

static VALUE loop_i | ( | void |  | ) | `[static]`

Definition at line 795 of file vm_eval.c.

References Qnil, and rb_yield_0().

Referenced by rb_f_loop().

static VALUE method_missing | ( | VALUE | obj,
|  | ID | id,
|  | int | argc,
|  | const VALUE * | argv,
|  | int | call_status
| ) |  | `[inline, static]`

Definition at line 546 of file vm_eval.c.

References ALLOCA_N, CLASS_OF, GET_THREAD, ID2SYM, ID_ALLOCATOR, MEMCPY, rb_thread_struct::method_missing_reason, NOEX_MISSING, rb_thread_struct::passed_block, raise_method_missing(), RARRAY_PTR, rb_ary_clear(), rb_ary_tmp_new(), rb_class2name(), rb_eTypeError, rb_funcall2(), rb_method_basic_definition_p(), rb_raise(), and result.

Referenced by rb_call0(), vm_call0(), and vm_call_super().

NORETURN | ( | static void | raise_method_missingrb_thread_t *th, int argc, const VALUE *argv, VALUE obj, int call_status | ) |

static int print_backtrace | ( | void * | arg,
|  | VALUE | file,
|  | int | line,
|  | VALUE | method
| ) |  | `[static]`

Definition at line 1596 of file vm_eval.c.

References FALSE, NIL_P, and RSTRING_PTR.

Referenced by rb_backtrace().

static void raise_method_missing | ( | rb_thread_t * | th,
|  | int | argc,
|  | const VALUE * | argv,
|  | VALUE | obj,
|  | int | last_call_status
| ) |  | `[static]`

Definition at line 488 of file vm_eval.c.

References rb_thread_struct::cfp, CLASS_OF, id, NOEX_MISSING, NOEX_PRIVATE, NOEX_PROTECTED, NOEX_SUPER, NOEX_VCALL, rb_ary_new4(), rb_class_new_instance(), rb_const_get(), rb_eArgError, rb_eNameError, rb_eNoMethodError, rb_exc_raise(), rb_funcall(), rb_intern, rb_method_basic_definition_p(), rb_name_err_mesg_new(), rb_raise(), rb_str_new2(), RUBY_VM_PREVIOUS_CONTROL_FRAME, stack_check(), SYM2ID, and SYMBOL_P.

Referenced by method_missing(), rb_method_missing(), and rb_raise_method_missing().

VALUE rb_apply | ( | VALUE | recv,
|  | ID | mid,
|  | VALUE | args
| ) |  |

Calls a method.

Parameters:

  recv | receiver of the method
  mid | an ID that represents the name of the method
  args | an Array object which contains method arguments

Precondition:
  args must refer an Array object.

Definition at line 597 of file vm_eval.c.

References ALLOCA_N, argc, argv, CALL_FCALL, MEMCPY, RARRAY_LENINT, RARRAY_PTR, and rb_call().

Referenced by ary2list(), ary2list2(), exec_callback(), ip_ruby_cmd_core(), and tk_do_callback().

void rb_backtrace | ( | void |  | ) |

Definition at line 1612 of file vm_eval.c.

References GET_THREAD, NULL, print_backtrace(), and vm_backtrace_each().

Referenced by load_lock(), and rescue_callback().

int rb_backtrace_each | ( | rb_backtrace_iter_func * | iter,
|  | void * | arg
| ) |  |

Definition at line 1643 of file vm_eval.c.

References GET_THREAD, NULL, and vm_backtrace_each().

Referenced by rb_vm_bugreport().

VALUE rb_block_call | ( | VALUE | obj,
|  | ID | mid,
|  | int | argc,
|  | VALUE * | argv,
|  | VALUE(*)(ANYARGS) | bl_proc,
|  | VALUE | data2
| ) |  |

Definition at line 932 of file vm_eval.c.

References argc, iter_method_arg::argc, argv, iter_method_arg::argv, iterate_method(), iter_method_arg::mid, iter_method_arg::obj, and rb_iterate().

static VALUE rb_call | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | const VALUE * | argv,
|  | call_type | scope
| ) |  | `[inline, static]`

calls the specified method.

This function is called by functions in rb_call* family.

Parameters:

  recv | receiver
  mid | an ID that represents the name of the method
  argc | the number of method arguments
  argv | a pointer to an array of method arguments
  scope |

Definition at line 436 of file vm_eval.c.

References Qundef, and rb_call0().

Referenced by iterate_method(), rb_apply(), rb_each(), rb_funcall(), rb_funcall2(), rb_funcall3(), and rb_funcall_passing_block().

static VALUE rb_call0 | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | const VALUE * | argv,
|  | call_type | scope,
|  | VALUE | self
| ) |  | `[inline, static]`

calls the specified method.

This function is called by functions in rb_call* family.

Parameters:

  recv | receiver of the method
  mid | an ID that represents the name of the method
  argc | the number of method arguments
  argv | a pointer to an array of method arguments
  scope |
  self | self in the caller. Qundef means the current control frame's self.

Note:
  self is used in order to controlling access to protected methods.

Definition at line 224 of file vm_eval.c.

References GET_THREAD, method_missing(), NOEX_OK, rb_method_call_status(), rb_search_method_entry(), stack_check(), and vm_call0().

Referenced by rb_call(), and send_internal().

VALUE rb_call_super | ( | int | argc,
|  | const VALUE * | argv
| ) |  |

Definition at line 188 of file vm_eval.c.

References GET_THREAD, PASS_PASSED_BLOCK, and vm_call_super().

Referenced by esignal_init(), exit_initialize(), float_denominator(), float_numerator(), fole_initialize(), iconv_failure_initialize(), interrupt_init(), name_err_initialize(), ossl_ssl_initialize(), range_include(), range_max(), range_min(), strio_initialize(), and syserr_initialize().

VALUE rb_catch | ( | const char * | tag,
|  | VALUE(*)() | func,
|  | VALUE | data
| ) |  |

Definition at line 1512 of file vm_eval.c.

References func, ID2SYM, rb_catch_obj(), rb_cObject, rb_intern, and rb_obj_alloc().

VALUE rb_catch_obj | ( | VALUE | tag,
|  | VALUE(*)() | func,
|  | VALUE | data
| ) |  |

Definition at line 1519 of file vm_eval.c.

References rb_thread_struct::cfp, rb_thread_struct::errinfo, EXEC_TAG, GET_THREAD, JUMP_TAG, POP_TAG, PUSH_TAG, Qnil, rb_vm_tag::retval, RNODE, rb_vm_tag::tag, rb_thread_struct::tag, and TAG_THROW.

VALUE rb_check_funcall | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | VALUE * | argv
| ) |  |

Definition at line 294 of file vm_eval.c.

References check_funcall().

Referenced by convert_type(), enumerator_rewind(), exc_equal(), make_exception(), num_exact(), rb_get_path_check(), and time_timespec().

VALUE rb_current_realfilepath | ( | void |  | ) |

Definition at line 1743 of file vm_eval.c.

References rb_thread_struct::cfp, rb_iseq_struct::filepath, GET_THREAD, rb_control_frame_t::iseq, Qnil, RUBY_VM_PREVIOUS_CONTROL_FRAME, and vm_get_ruby_level_caller_cfp().

Referenced by rb_f_require_relative().

VALUE rb_each | ( | VALUE | obj | ) |

Definition at line 945 of file vm_eval.c.

References CALL_FCALL, and rb_call().

VALUE rb_eval_cmd | ( | VALUE | cmd,
|  | VALUE | arg,
|  | int | level
| ) |  |

Definition at line 1161 of file vm_eval.c.

References eval_string(), EXEC_TAG, JUMP_TAG, OBJ_TAINTED, POP_TAG, PUSH_TAG, Qnil, RARRAY_LENINT, RARRAY_PTR, rb_funcall2(), rb_intern, rb_safe_level, rb_set_safe_level_force(), rb_vm_jump_tag_but_local_jump(), rb_vm_top_self(), T_STRING, and TYPE.

Referenced by rb_trace_eval(), run_single_final(), signal_exec(), and tk_eval_cmd().

VALUE rb_eval_string | ( | const char * | str | ) |

Definition at line 1122 of file vm_eval.c.

References eval_string(), Qnil, rb_str_new2(), and rb_vm_top_self().

Referenced by foletype_s_typelibs(), ip_ruby_eval(), and rb_eval_string_protect().

VALUE rb_eval_string_protect | ( | const char * | str,
|  | int * | state
| ) |  |

Definition at line 1128 of file vm_eval.c.

References rb_eval_string(), and rb_protect().

Referenced by ip_ruby_cmd_receiver_const_get(), and rb_eval_string_wrap().

VALUE rb_eval_string_wrap | ( | const char * | str,
|  | int * | state
| ) |  |

Definition at line 1134 of file vm_eval.c.

References GET_THREAD, JUMP_TAG, rb_eval_string_protect(), rb_extend_object(), rb_module_new(), rb_obj_clone(), rb_vm_top_self(), rb_thread_struct::top_self, and rb_thread_struct::top_wrapper.

VALUE rb_f_block_given_p | ( | void |  | ) |

Definition at line 1726 of file vm_eval.c.

References rb_thread_struct::cfp, GC_GUARDED_PTR_REF, GET_THREAD, rb_control_frame_t::lfp, Qfalse, Qtrue, RUBY_VM_PREVIOUS_CONTROL_FRAME, and vm_get_ruby_level_caller_cfp().

Referenced by Init_vm_eval().

static VALUE rb_f_caller | ( | int | argc,
|  | VALUE * | argv
| ) |  | `[static]`

Definition at line 1578 of file vm_eval.c.

References GET_THREAD, NIL_P, NUM2INT, rb_eArgError, rb_raise(), rb_scan_args(), and vm_backtrace().

Referenced by Init_vm_eval().

static VALUE rb_f_catch | ( | int | argc,
|  | VALUE * | argv
| ) |  | `[static]`

Definition at line 1498 of file vm_eval.c.

References catch_i(), rb_catch_obj(), rb_cObject, rb_obj_alloc(), rb_scan_args(), and rb_vm_tag::tag.

Referenced by Init_vm_eval().

VALUE rb_f_eval | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |

Definition at line 1092 of file vm_eval.c.

References eval_string(), NIL_P, NUM2INT, OBJ_TAINTED, rb_eSecurityError, rb_raise(), rb_safe_level, rb_scan_args(), RSTRING_PTR, SafeStringValue, and StringValue.

Referenced by bind_eval(), and Init_vm_eval().

static VALUE rb_f_local_variables | ( | void |  | ) | `[static]`

Definition at line 1662 of file vm_eval.c.

References rb_thread_struct::cfp, rb_control_frame_t::dfp, GC_GUARDED_PTR_REF, GET_THREAD, ID2SYM, rb_control_frame_t::iseq, rb_control_frame_t::lfp, rb_iseq_struct::local_table, rb_iseq_struct::local_table_size, rb_ary_new(), rb_ary_push(), rb_id2name(), RUBY_VM_PREVIOUS_CONTROL_FRAME, vm_collect_local_variables_in_heap(), and vm_get_ruby_level_caller_cfp().

Referenced by Init_vm_eval().

static VALUE rb_f_loop | ( | VALUE | self | ) | `[static]`

Definition at line 823 of file vm_eval.c.

References loop_i(), Qnil, rb_eStopIteration, rb_rescue2(), and RETURN_ENUMERATOR.

Referenced by Init_vm_eval().

VALUE rb_f_public_send | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | recv
| ) |  |

Definition at line 730 of file vm_eval.c.

References CALL_PUBLIC, and send_internal().

Referenced by Init_vm_eval().

VALUE rb_f_send | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | recv
| ) |  |

Definition at line 713 of file vm_eval.c.

References CALL_FCALL, and send_internal().

Referenced by Init_vm_eval().

static VALUE rb_f_throw | ( | int | argc,
|  | VALUE * | argv
| ) |  | `[static]`

Definition at line 1416 of file vm_eval.c.

References Qnil, rb_scan_args(), and rb_throw_obj().

Referenced by Init_vm_eval().

VALUE rb_funcall | ( | VALUE | recv,
|  | ID | mid,
|  | int | n,
|  |  | ...
| ) |  |

Calls a method.

Parameters:

  recv | receiver of the method
  mid | an ID that represents the name of the method
  n | the number of arguments
  ... | arbitrary number of method arguments

Precondition:
  each of arguments after n must be a VALUE.

Definition at line 618 of file vm_eval.c.

References ALLOCA_N, argv, CALL_FCALL, rb_call(), and va_init_list.

Referenced by _thread_call_proc_core(), _thread_call_proc_value(), add(), argument_error(), ary2list(), ary2list2(), basic_obj_respond_to(), BigDecimal_to_i(), BigDecimal_to_r(), binop(), bsock_setsockopt(), call_next(), call_queue_handler(), callback(), cbsubst_def_attr_aliases(), cbsubst_get_subst_key(), cbsubst_scan_args(), chunk_i(), chunk_ii(), cmp(), cmp_eq(), cmp_ge(), cmp_gt(), cmp_le(), cmp_lt(), coerce_body(), const_missing(), convert_encoding(), copy_stream_fallback_body(), cParser_initialize(), create_encoding_table(), cState_aref(), cState_from_state_s(), cState_generate(), default_inspect(), dir_inspect(), divmodv(), DupConfigPtr(), DupPrivPKeyPtr(), enum_find(), enum_zip(), eq(), error_print(), eval_queue_handler(), evs_length(), exc_message(), f_add(), f_cmp(), f_div(), f_gt_p(), f_lt_p(), f_one_p(), f_sub(), f_zero_p(), fix_pow(), flo_cmp(), flo_pow(), flo_quo(), fole_s_show_help(), foleparam_inspect(), foletype_s_ole_classes(), foletypelib_s_typelibs(), folevariable_inspect(), folevariant_value(), fun1(), fun2(), function_call(), generate_json(), generic_to_value(), get_backtrace(), get_eval_string_core(), GetPrivPKeyPtr(), grep_i(), grep_iter_i(), gzfile_close(), gzfile_read_raw_partial(), gzfile_read_raw_rescue(), gzfile_reader_rewind(), gzfile_write_raw(), id_hash_new(), Init_generator(), Init_parser(), Init_syck(), Init_win32ole(), inject_op_i(), int_dotimes(), int_downto(), int_even_p(), int_odd_p(), int_pred(), int_round(), int_succ(), int_upto(), invoke_queue_handler(), io_call_close(), io_reader(), io_write(), ip_eval(), ip_invoke_with_position(), ip_set_exc_message(), JSON_parse_object(), key2keyname(), lexer_iter(), lib_eventloop_ensure(), lib_eventloop_launcher(), lib_fromUTF8_core(), lib_set_system_encoding(), lib_thread_callback(), lib_toUTF8_core(), lib_watchdog_core(), load_file_internal(), max_by_i(), max_i(), min_by_i(), min_i(), minmax_by_i(), minmax_by_i_update(), minmax_i(), minmax_i_update(), mktime_do(), mktime_r(), mlambda(), mnew(), mObject_to_json(), mod(), mproc(), mString_Extend_json_create(), mString_included_s(), mString_to_json_raw_object(), mul(), negate_lit(), num_abs(), num_div(), num_equal(), num_fdiv(), num_modulo(), num_nonzero_p(), num_quo(), num_remainder(), num_step(), num_to_int(), num_uminus(), nurat_div(), ole_invoke(), ole_typelib_from_itypeinfo(), opt_case_dispatch_i(), ossl_asn1_decode0(), ossl_call_client_cert_cb(), ossl_call_session_get_cb(), ossl_call_session_new_cb(), ossl_call_tmp_dh_callback(), ossl_call_verify_cb_proc(), ossl_config_copy(), ossl_pkey_sign(), ossl_ssl_close(), ossl_ssl_initialize(), ossl_ssl_read_internal(), ossl_ssl_session_get_time(), ossl_ssl_write_internal(), ossl_sslctx_flush_sessions(), ossl_to_der(), ossl_x509attr_get_value(), ossl_x509attr_initialize(), ossl_x509ext_initialize(), ossl_x509store_verify(), parse(), parse_main(), quo(), r_le(), r_leave(), r_lt(), r_object0(), raise_method_missing(), range_check(), range_each_func(), range_eqq(), range_max(), range_min(), range_step(), rb_big_pow(), rb_class_inherited(), rb_cmpint(), rb_digest_class_s_digest(), rb_digest_instance_bubblebabble(), rb_digest_instance_digest(), rb_digest_instance_digest_bang(), rb_digest_instance_hexdigest(), rb_digest_instance_hexdigest_bang(), rb_digest_instance_length(), rb_digest_instance_new(), rb_digest_instance_to_s(), rb_dlptr_s_to_ptr(), rb_enc_get_index(), rb_eql(), rb_equal(), rb_exc_new(), rb_exc_new3(), rb_gzreader_initialize(), rb_gzwriter_flush(), rb_gzwriter_initialize(), rb_hash(), rb_hash_aref(), rb_hash_default(), rb_hash_shift(), rb_inspect(), rb_io_flush(), rb_io_write(), rb_mod_include(), rb_num_coerce_bin(), rb_num_coerce_cmp(), rb_num_coerce_relop(), rb_obj_alloc(), rb_obj_as_string(), rb_obj_clone(), rb_obj_dup(), rb_obj_extend(), rb_obj_init_dup_clone(), rb_obj_inspect(), rb_obj_not_equal(), rb_obj_not_match(), rb_obj_respond_to(), rb_range_values(), rb_str_cmp_m(), rb_str_match(), rb_str_sum(), rb_str_upto(), rb_strftime_with_timespec(), rb_syck_load_handler(), readline_attempted_completion_function(), recursive_cmp(), reduce0(), rescue_callback(), set_backtrace(), set_max_block_time(), set_option_encoding_once(), shift(), slicebefore_i(), slicebefore_ii(), sockopt_unpack(), sort_2(), sort_by_cmp(), step_i(), sub(), syck_badalias_cmp(), syck_defaultresolver_node_import(), syck_emitter_emit(), syck_emitter_node_export(), syck_emitter_s_alloc(), syck_genericresolver_node_import(), syck_map_add_m(), syck_map_initialize(), syck_map_value_set(), syck_merge_i(), syck_node_transform(), syck_out_map(), syck_out_scalar(), syck_out_seq(), syck_parser_bufsize_set(), syck_parser_load_documents(), syck_resolver_node_import(), syck_resolver_transfer(), syck_scalar_initialize(), syck_seq_add_m(), syck_seq_initialize(), syck_set_model(), sym_step_i(), syserr_eqq(), tcl2rb_bool(), tcl_protect_core(), time_cmp(), time_timespec(), tk_funcall(), tk_install_cmd_core(), TkStringValue(), to_strkey(), w_object(), wadd(), wcmp(), wdivmod(), weq(), wmul(), wquo(), writer(), wsub(), and yaml_org_handler().

VALUE rb_funcall2 | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | const VALUE * | argv
| ) |  |

Calls a method.

Parameters:

  recv | receiver of the method
  mid | an ID that represents the name of the method
  argc | the number of arguments
  argv | pointer to an array of method arguments

Definition at line 649 of file vm_eval.c.

References CALL_FCALL, and rb_call().

Referenced by asn1time_to_time(), bug_funcall(), callback(), check_funcall_exec(), cleanup_iseq_build(), dir_open_dir(), GetVpValue(), map_charset(), marshal_dump(), marshal_load(), method_missing(), nucomp_f_complex(), nurat_f_rational(), r_byte(), r_bytes0(), random_equal(), random_rand(), range_values(), rb_digest_class_s_bubblebabble(), rb_digest_class_s_hexdigest(), rb_dl_callback_char_0_0_cdecl(), rb_dl_callback_char_0_1_cdecl(), rb_dl_callback_char_0_2_cdecl(), rb_dl_callback_char_0_3_cdecl(), rb_dl_callback_char_0_4_cdecl(), rb_dl_callback_char_10_0_cdecl(), rb_dl_callback_char_10_1_cdecl(), rb_dl_callback_char_10_2_cdecl(), rb_dl_callback_char_10_3_cdecl(), rb_dl_callback_char_10_4_cdecl(), rb_dl_callback_char_11_0_cdecl(), rb_dl_callback_char_11_1_cdecl(), rb_dl_callback_char_11_2_cdecl(), rb_dl_callback_char_11_3_cdecl(), rb_dl_callback_char_11_4_cdecl(), rb_dl_callback_char_12_0_cdecl(), rb_dl_callback_char_12_1_cdecl(), rb_dl_callback_char_12_2_cdecl(), rb_dl_callback_char_12_3_cdecl(), rb_dl_callback_char_12_4_cdecl(), rb_dl_callback_char_13_0_cdecl(), rb_dl_callback_char_13_1_cdecl(), rb_dl_callback_char_13_2_cdecl(), rb_dl_callback_char_13_3_cdecl(), rb_dl_callback_char_13_4_cdecl(), rb_dl_callback_char_14_0_cdecl(), rb_dl_callback_char_14_1_cdecl(), rb_dl_callback_char_14_2_cdecl(), rb_dl_callback_char_14_3_cdecl(), rb_dl_callback_char_14_4_cdecl(), rb_dl_callback_char_15_0_cdecl(), rb_dl_callback_char_15_1_cdecl(), rb_dl_callback_char_15_2_cdecl(), rb_dl_callback_char_15_3_cdecl(), rb_dl_callback_char_15_4_cdecl(), rb_dl_callback_char_16_0_cdecl(), rb_dl_callback_char_16_1_cdecl(), rb_dl_callback_char_16_2_cdecl(), rb_dl_callback_char_16_3_cdecl(), rb_dl_callback_char_16_4_cdecl(), rb_dl_callback_char_17_0_cdecl(), rb_dl_callback_char_17_1_cdecl(), rb_dl_callback_char_17_2_cdecl(), rb_dl_callback_char_17_3_cdecl(), rb_dl_callback_char_17_4_cdecl(), rb_dl_callback_char_18_0_cdecl(), rb_dl_callback_char_18_1_cdecl(), rb_dl_callback_char_18_2_cdecl(), rb_dl_callback_char_18_3_cdecl(), rb_dl_callback_char_18_4_cdecl(), rb_dl_callback_char_19_0_cdecl(), rb_dl_callback_char_19_1_cdecl(), rb_dl_callback_char_19_2_cdecl(), rb_dl_callback_char_19_3_cdecl(), rb_dl_callback_char_19_4_cdecl(), rb_dl_callback_char_1_0_cdecl(), rb_dl_callback_char_1_1_cdecl(), rb_dl_callback_char_1_2_cdecl(), rb_dl_callback_char_1_3_cdecl(), rb_dl_callback_char_1_4_cdecl(), rb_dl_callback_char_2_0_cdecl(), rb_dl_callback_char_2_1_cdecl(), rb_dl_callback_char_2_2_cdecl(), rb_dl_callback_char_2_3_cdecl(), rb_dl_callback_char_2_4_cdecl(), rb_dl_callback_char_3_0_cdecl(), rb_dl_callback_char_3_1_cdecl(), rb_dl_callback_char_3_2_cdecl(), rb_dl_callback_char_3_3_cdecl(), rb_dl_callback_char_3_4_cdecl(), rb_dl_callback_char_4_0_cdecl(), rb_dl_callback_char_4_1_cdecl(), rb_dl_callback_char_4_2_cdecl(), rb_dl_callback_char_4_3_cdecl(), rb_dl_callback_char_4_4_cdecl(), rb_dl_callback_char_5_0_cdecl(), rb_dl_callback_char_5_1_cdecl(), rb_dl_callback_char_5_2_cdecl(), rb_dl_callback_char_5_3_cdecl(), rb_dl_callback_char_5_4_cdecl(), rb_dl_callback_char_6_0_cdecl(), rb_dl_callback_char_6_1_cdecl(), rb_dl_callback_char_6_2_cdecl(), rb_dl_callback_char_6_3_cdecl(), rb_dl_callback_char_6_4_cdecl(), rb_dl_callback_char_7_0_cdecl(), rb_dl_callback_char_7_1_cdecl(), rb_dl_callback_char_7_2_cdecl(), rb_dl_callback_char_7_3_cdecl(), rb_dl_callback_char_7_4_cdecl(), rb_dl_callback_char_8_0_cdecl(), rb_dl_callback_char_8_1_cdecl(), rb_dl_callback_char_8_2_cdecl(), rb_dl_callback_char_8_3_cdecl(), rb_dl_callback_char_8_4_cdecl(), rb_dl_callback_char_9_0_cdecl(), rb_dl_callback_char_9_1_cdecl(), rb_dl_callback_char_9_2_cdecl(), rb_dl_callback_char_9_3_cdecl(), rb_dl_callback_char_9_4_cdecl(), rb_dl_callback_double_0_0_cdecl(), rb_dl_callback_double_0_1_cdecl(), rb_dl_callback_double_0_2_cdecl(), rb_dl_callback_double_0_3_cdecl(), rb_dl_callback_double_0_4_cdecl(), rb_dl_callback_double_10_0_cdecl(), rb_dl_callback_double_10_1_cdecl(), rb_dl_callback_double_10_2_cdecl(), rb_dl_callback_double_10_3_cdecl(), rb_dl_callback_double_10_4_cdecl(), rb_dl_callback_double_11_0_cdecl(), rb_dl_callback_double_11_1_cdecl(), rb_dl_callback_double_11_2_cdecl(), rb_dl_callback_double_11_3_cdecl(), rb_dl_callback_double_11_4_cdecl(), rb_dl_callback_double_12_0_cdecl(), rb_dl_callback_double_12_1_cdecl(), rb_dl_callback_double_12_2_cdecl(), rb_dl_callback_double_12_3_cdecl(), rb_dl_callback_double_12_4_cdecl(), rb_dl_callback_double_13_0_cdecl(), rb_dl_callback_double_13_1_cdecl(), rb_dl_callback_double_13_2_cdecl(), rb_dl_callback_double_13_3_cdecl(), rb_dl_callback_double_13_4_cdecl(), rb_dl_callback_double_14_0_cdecl(), rb_dl_callback_double_14_1_cdecl(), rb_dl_callback_double_14_2_cdecl(), rb_dl_callback_double_14_3_cdecl(), rb_dl_callback_double_14_4_cdecl(), rb_dl_callback_double_15_0_cdecl(), rb_dl_callback_double_15_1_cdecl(), rb_dl_callback_double_15_2_cdecl(), rb_dl_callback_double_15_3_cdecl(), rb_dl_callback_double_15_4_cdecl(), rb_dl_callback_double_16_0_cdecl(), rb_dl_callback_double_16_1_cdecl(), rb_dl_callback_double_16_2_cdecl(), rb_dl_callback_double_16_3_cdecl(), rb_dl_callback_double_16_4_cdecl(), rb_dl_callback_double_17_0_cdecl(), rb_dl_callback_double_17_1_cdecl(), rb_dl_callback_double_17_2_cdecl(), rb_dl_callback_double_17_3_cdecl(), rb_dl_callback_double_17_4_cdecl(), rb_dl_callback_double_18_0_cdecl(), rb_dl_callback_double_18_1_cdecl(), rb_dl_callback_double_18_2_cdecl(), rb_dl_callback_double_18_3_cdecl(), rb_dl_callback_double_18_4_cdecl(), rb_dl_callback_double_19_0_cdecl(), rb_dl_callback_double_19_1_cdecl(), rb_dl_callback_double_19_2_cdecl(), rb_dl_callback_double_19_3_cdecl(), rb_dl_callback_double_19_4_cdecl(), rb_dl_callback_double_1_0_cdecl(), rb_dl_callback_double_1_1_cdecl(), rb_dl_callback_double_1_2_cdecl(), rb_dl_callback_double_1_3_cdecl(), rb_dl_callback_double_1_4_cdecl(), rb_dl_callback_double_2_0_cdecl(), rb_dl_callback_double_2_1_cdecl(), rb_dl_callback_double_2_2_cdecl(), rb_dl_callback_double_2_3_cdecl(), rb_dl_callback_double_2_4_cdecl(), rb_dl_callback_double_3_0_cdecl(), rb_dl_callback_double_3_1_cdecl(), rb_dl_callback_double_3_2_cdecl(), rb_dl_callback_double_3_3_cdecl(), rb_dl_callback_double_3_4_cdecl(), rb_dl_callback_double_4_0_cdecl(), rb_dl_callback_double_4_1_cdecl(), rb_dl_callback_double_4_2_cdecl(), rb_dl_callback_double_4_3_cdecl(), rb_dl_callback_double_4_4_cdecl(), rb_dl_callback_double_5_0_cdecl(), rb_dl_callback_double_5_1_cdecl(), rb_dl_callback_double_5_2_cdecl(), rb_dl_callback_double_5_3_cdecl(), rb_dl_callback_double_5_4_cdecl(), rb_dl_callback_double_6_0_cdecl(), rb_dl_callback_double_6_1_cdecl(), rb_dl_callback_double_6_2_cdecl(), rb_dl_callback_double_6_3_cdecl(), rb_dl_callback_double_6_4_cdecl(), rb_dl_callback_double_7_0_cdecl(), rb_dl_callback_double_7_1_cdecl(), rb_dl_callback_double_7_2_cdecl(), rb_dl_callback_double_7_3_cdecl(), rb_dl_callback_double_7_4_cdecl(), rb_dl_callback_double_8_0_cdecl(), rb_dl_callback_double_8_1_cdecl(), rb_dl_callback_double_8_2_cdecl(), rb_dl_callback_double_8_3_cdecl(), rb_dl_callback_double_8_4_cdecl(), rb_dl_callback_double_9_0_cdecl(), rb_dl_callback_double_9_1_cdecl(), rb_dl_callback_double_9_2_cdecl(), rb_dl_callback_double_9_3_cdecl(), rb_dl_callback_double_9_4_cdecl(), rb_dl_callback_float_0_0_cdecl(), rb_dl_callback_float_0_1_cdecl(), rb_dl_callback_float_0_2_cdecl(), rb_dl_callback_float_0_3_cdecl(), rb_dl_callback_float_0_4_cdecl(), rb_dl_callback_float_10_0_cdecl(), rb_dl_callback_float_10_1_cdecl(), rb_dl_callback_float_10_2_cdecl(), rb_dl_callback_float_10_3_cdecl(), rb_dl_callback_float_10_4_cdecl(), rb_dl_callback_float_11_0_cdecl(), rb_dl_callback_float_11_1_cdecl(), rb_dl_callback_float_11_2_cdecl(), rb_dl_callback_float_11_3_cdecl(), rb_dl_callback_float_11_4_cdecl(), rb_dl_callback_float_12_0_cdecl(), rb_dl_callback_float_12_1_cdecl(), rb_dl_callback_float_12_2_cdecl(), rb_dl_callback_float_12_3_cdecl(), rb_dl_callback_float_12_4_cdecl(), rb_dl_callback_float_13_0_cdecl(), rb_dl_callback_float_13_1_cdecl(), rb_dl_callback_float_13_2_cdecl(), rb_dl_callback_float_13_3_cdecl(), rb_dl_callback_float_13_4_cdecl(), rb_dl_callback_float_14_0_cdecl(), rb_dl_callback_float_14_1_cdecl(), rb_dl_callback_float_14_2_cdecl(), rb_dl_callback_float_14_3_cdecl(), rb_dl_callback_float_14_4_cdecl(), rb_dl_callback_float_15_0_cdecl(), rb_dl_callback_float_15_1_cdecl(), rb_dl_callback_float_15_2_cdecl(), rb_dl_callback_float_15_3_cdecl(), rb_dl_callback_float_15_4_cdecl(), rb_dl_callback_float_16_0_cdecl(), rb_dl_callback_float_16_1_cdecl(), rb_dl_callback_float_16_2_cdecl(), rb_dl_callback_float_16_3_cdecl(), rb_dl_callback_float_16_4_cdecl(), rb_dl_callback_float_17_0_cdecl(), rb_dl_callback_float_17_1_cdecl(), rb_dl_callback_float_17_2_cdecl(), rb_dl_callback_float_17_3_cdecl(), rb_dl_callback_float_17_4_cdecl(), rb_dl_callback_float_18_0_cdecl(), rb_dl_callback_float_18_1_cdecl(), rb_dl_callback_float_18_2_cdecl(), rb_dl_callback_float_18_3_cdecl(), rb_dl_callback_float_18_4_cdecl(), rb_dl_callback_float_19_0_cdecl(), rb_dl_callback_float_19_1_cdecl(), rb_dl_callback_float_19_2_cdecl(), rb_dl_callback_float_19_3_cdecl(), rb_dl_callback_float_19_4_cdecl(), rb_dl_callback_float_1_0_cdecl(), rb_dl_callback_float_1_1_cdecl(), rb_dl_callback_float_1_2_cdecl(), rb_dl_callback_float_1_3_cdecl(), rb_dl_callback_float_1_4_cdecl(), rb_dl_callback_float_2_0_cdecl(), rb_dl_callback_float_2_1_cdecl(), rb_dl_callback_float_2_2_cdecl(), rb_dl_callback_float_2_3_cdecl(), rb_dl_callback_float_2_4_cdecl(), rb_dl_callback_float_3_0_cdecl(), rb_dl_callback_float_3_1_cdecl(), rb_dl_callback_float_3_2_cdecl(), rb_dl_callback_float_3_3_cdecl(), rb_dl_callback_float_3_4_cdecl(), rb_dl_callback_float_4_0_cdecl(), rb_dl_callback_float_4_1_cdecl(), rb_dl_callback_float_4_2_cdecl(), rb_dl_callback_float_4_3_cdecl(), rb_dl_callback_float_4_4_cdecl(), rb_dl_callback_float_5_0_cdecl(), rb_dl_callback_float_5_1_cdecl(), rb_dl_callback_float_5_2_cdecl(), rb_dl_callback_float_5_3_cdecl(), rb_dl_callback_float_5_4_cdecl(), rb_dl_callback_float_6_0_cdecl(), rb_dl_callback_float_6_1_cdecl(), rb_dl_callback_float_6_2_cdecl(), rb_dl_callback_float_6_3_cdecl(), rb_dl_callback_float_6_4_cdecl(), rb_dl_callback_float_7_0_cdecl(), rb_dl_callback_float_7_1_cdecl(), rb_dl_callback_float_7_2_cdecl(), rb_dl_callback_float_7_3_cdecl(), rb_dl_callback_float_7_4_cdecl(), rb_dl_callback_float_8_0_cdecl(), rb_dl_callback_float_8_1_cdecl(), rb_dl_callback_float_8_2_cdecl(), rb_dl_callback_float_8_3_cdecl(), rb_dl_callback_float_8_4_cdecl(), rb_dl_callback_float_9_0_cdecl(), rb_dl_callback_float_9_1_cdecl(), rb_dl_callback_float_9_2_cdecl(), rb_dl_callback_float_9_3_cdecl(), rb_dl_callback_float_9_4_cdecl(), rb_dl_callback_int_0_0_cdecl(), rb_dl_callback_int_0_1_cdecl(), rb_dl_callback_int_0_2_cdecl(), rb_dl_callback_int_0_3_cdecl(), rb_dl_callback_int_0_4_cdecl(), rb_dl_callback_int_10_0_cdecl(), rb_dl_callback_int_10_1_cdecl(), rb_dl_callback_int_10_2_cdecl(), rb_dl_callback_int_10_3_cdecl(), rb_dl_callback_int_10_4_cdecl(), rb_dl_callback_int_11_0_cdecl(), rb_dl_callback_int_11_1_cdecl(), rb_dl_callback_int_11_2_cdecl(), rb_dl_callback_int_11_3_cdecl(), rb_dl_callback_int_11_4_cdecl(), rb_dl_callback_int_12_0_cdecl(), rb_dl_callback_int_12_1_cdecl(), rb_dl_callback_int_12_2_cdecl(), rb_dl_callback_int_12_3_cdecl(), rb_dl_callback_int_12_4_cdecl(), rb_dl_callback_int_13_0_cdecl(), rb_dl_callback_int_13_1_cdecl(), rb_dl_callback_int_13_2_cdecl(), rb_dl_callback_int_13_3_cdecl(), rb_dl_callback_int_13_4_cdecl(), rb_dl_callback_int_14_0_cdecl(), rb_dl_callback_int_14_1_cdecl(), rb_dl_callback_int_14_2_cdecl(), rb_dl_callback_int_14_3_cdecl(), rb_dl_callback_int_14_4_cdecl(), rb_dl_callback_int_15_0_cdecl(), rb_dl_callback_int_15_1_cdecl(), rb_dl_callback_int_15_2_cdecl(), rb_dl_callback_int_15_3_cdecl(), rb_dl_callback_int_15_4_cdecl(), rb_dl_callback_int_16_0_cdecl(), rb_dl_callback_int_16_1_cdecl(), rb_dl_callback_int_16_2_cdecl(), rb_dl_callback_int_16_3_cdecl(), rb_dl_callback_int_16_4_cdecl(), rb_dl_callback_int_17_0_cdecl(), rb_dl_callback_int_17_1_cdecl(), rb_dl_callback_int_17_2_cdecl(), rb_dl_callback_int_17_3_cdecl(), rb_dl_callback_int_17_4_cdecl(), rb_dl_callback_int_18_0_cdecl(), rb_dl_callback_int_18_1_cdecl(), rb_dl_callback_int_18_2_cdecl(), rb_dl_callback_int_18_3_cdecl(), rb_dl_callback_int_18_4_cdecl(), rb_dl_callback_int_19_0_cdecl(), rb_dl_callback_int_19_1_cdecl(), rb_dl_callback_int_19_2_cdecl(), rb_dl_callback_int_19_3_cdecl(), rb_dl_callback_int_19_4_cdecl(), rb_dl_callback_int_1_0_cdecl(), rb_dl_callback_int_1_1_cdecl(), rb_dl_callback_int_1_2_cdecl(), rb_dl_callback_int_1_3_cdecl(), rb_dl_callback_int_1_4_cdecl(), rb_dl_callback_int_2_0_cdecl(), rb_dl_callback_int_2_1_cdecl(), rb_dl_callback_int_2_2_cdecl(), rb_dl_callback_int_2_3_cdecl(), rb_dl_callback_int_2_4_cdecl(), rb_dl_callback_int_3_0_cdecl(), rb_dl_callback_int_3_1_cdecl(), rb_dl_callback_int_3_2_cdecl(), rb_dl_callback_int_3_3_cdecl(), rb_dl_callback_int_3_4_cdecl(), rb_dl_callback_int_4_0_cdecl(), rb_dl_callback_int_4_1_cdecl(), rb_dl_callback_int_4_2_cdecl(), rb_dl_callback_int_4_3_cdecl(), rb_dl_callback_int_4_4_cdecl(), rb_dl_callback_int_5_0_cdecl(), rb_dl_callback_int_5_1_cdecl(), rb_dl_callback_int_5_2_cdecl(), rb_dl_callback_int_5_3_cdecl(), rb_dl_callback_int_5_4_cdecl(), rb_dl_callback_int_6_0_cdecl(), rb_dl_callback_int_6_1_cdecl(), rb_dl_callback_int_6_2_cdecl(), rb_dl_callback_int_6_3_cdecl(), rb_dl_callback_int_6_4_cdecl(), rb_dl_callback_int_7_0_cdecl(), rb_dl_callback_int_7_1_cdecl(), rb_dl_callback_int_7_2_cdecl(), rb_dl_callback_int_7_3_cdecl(), rb_dl_callback_int_7_4_cdecl(), rb_dl_callback_int_8_0_cdecl(), rb_dl_callback_int_8_1_cdecl(), rb_dl_callback_int_8_2_cdecl(), rb_dl_callback_int_8_3_cdecl(), rb_dl_callback_int_8_4_cdecl(), rb_dl_callback_int_9_0_cdecl(), rb_dl_callback_int_9_1_cdecl(), rb_dl_callback_int_9_2_cdecl(), rb_dl_callback_int_9_3_cdecl(), rb_dl_callback_int_9_4_cdecl(), rb_dl_callback_long_0_0_cdecl(), rb_dl_callback_long_0_1_cdecl(), rb_dl_callback_long_0_2_cdecl(), rb_dl_callback_long_0_3_cdecl(), rb_dl_callback_long_0_4_cdecl(), rb_dl_callback_long_10_0_cdecl(), rb_dl_callback_long_10_1_cdecl(), rb_dl_callback_long_10_2_cdecl(), rb_dl_callback_long_10_3_cdecl(), rb_dl_callback_long_10_4_cdecl(), rb_dl_callback_long_11_0_cdecl(), rb_dl_callback_long_11_1_cdecl(), rb_dl_callback_long_11_2_cdecl(), rb_dl_callback_long_11_3_cdecl(), rb_dl_callback_long_11_4_cdecl(), rb_dl_callback_long_12_0_cdecl(), rb_dl_callback_long_12_1_cdecl(), rb_dl_callback_long_12_2_cdecl(), rb_dl_callback_long_12_3_cdecl(), rb_dl_callback_long_12_4_cdecl(), rb_dl_callback_long_13_0_cdecl(), rb_dl_callback_long_13_1_cdecl(), rb_dl_callback_long_13_2_cdecl(), rb_dl_callback_long_13_3_cdecl(), rb_dl_callback_long_13_4_cdecl(), rb_dl_callback_long_14_0_cdecl(), rb_dl_callback_long_14_1_cdecl(), rb_dl_callback_long_14_2_cdecl(), rb_dl_callback_long_14_3_cdecl(), rb_dl_callback_long_14_4_cdecl(), rb_dl_callback_long_15_0_cdecl(), rb_dl_callback_long_15_1_cdecl(), rb_dl_callback_long_15_2_cdecl(), rb_dl_callback_long_15_3_cdecl(), rb_dl_callback_long_15_4_cdecl(), rb_dl_callback_long_16_0_cdecl(), rb_dl_callback_long_16_1_cdecl(), rb_dl_callback_long_16_2_cdecl(), rb_dl_callback_long_16_3_cdecl(), rb_dl_callback_long_16_4_cdecl(), rb_dl_callback_long_17_0_cdecl(), rb_dl_callback_long_17_1_cdecl(), rb_dl_callback_long_17_2_cdecl(), rb_dl_callback_long_17_3_cdecl(), rb_dl_callback_long_17_4_cdecl(), rb_dl_callback_long_18_0_cdecl(), rb_dl_callback_long_18_1_cdecl(), rb_dl_callback_long_18_2_cdecl(), rb_dl_callback_long_18_3_cdecl(), rb_dl_callback_long_18_4_cdecl(), rb_dl_callback_long_19_0_cdecl(), rb_dl_callback_long_19_1_cdecl(), rb_dl_callback_long_19_2_cdecl(), rb_dl_callback_long_19_3_cdecl(), rb_dl_callback_long_19_4_cdecl(), rb_dl_callback_long_1_0_cdecl(), rb_dl_callback_long_1_1_cdecl(), rb_dl_callback_long_1_2_cdecl(), rb_dl_callback_long_1_3_cdecl(), rb_dl_callback_long_1_4_cdecl(), rb_dl_callback_long_2_0_cdecl(), rb_dl_callback_long_2_1_cdecl(), rb_dl_callback_long_2_2_cdecl(), rb_dl_callback_long_2_3_cdecl(), rb_dl_callback_long_2_4_cdecl(), rb_dl_callback_long_3_0_cdecl(), rb_dl_callback_long_3_1_cdecl(), rb_dl_callback_long_3_2_cdecl(), rb_dl_callback_long_3_3_cdecl(), rb_dl_callback_long_3_4_cdecl(), rb_dl_callback_long_4_0_cdecl(), rb_dl_callback_long_4_1_cdecl(), rb_dl_callback_long_4_2_cdecl(), rb_dl_callback_long_4_3_cdecl(), rb_dl_callback_long_4_4_cdecl(), rb_dl_callback_long_5_0_cdecl(), rb_dl_callback_long_5_1_cdecl(), rb_dl_callback_long_5_2_cdecl(), rb_dl_callback_long_5_3_cdecl(), rb_dl_callback_long_5_4_cdecl(), rb_dl_callback_long_6_0_cdecl(), rb_dl_callback_long_6_1_cdecl(), rb_dl_callback_long_6_2_cdecl(), rb_dl_callback_long_6_3_cdecl(), rb_dl_callback_long_6_4_cdecl(), rb_dl_callback_long_7_0_cdecl(), rb_dl_callback_long_7_1_cdecl(), rb_dl_callback_long_7_2_cdecl(), rb_dl_callback_long_7_3_cdecl(), rb_dl_callback_long_7_4_cdecl(), rb_dl_callback_long_8_0_cdecl(), rb_dl_callback_long_8_1_cdecl(), rb_dl_callback_long_8_2_cdecl(), rb_dl_callback_long_8_3_cdecl(), rb_dl_callback_long_8_4_cdecl(), rb_dl_callback_long_9_0_cdecl(), rb_dl_callback_long_9_1_cdecl(), rb_dl_callback_long_9_2_cdecl(), rb_dl_callback_long_9_3_cdecl(), rb_dl_callback_long_9_4_cdecl(), rb_dl_callback_long_long_0_0_cdecl(), rb_dl_callback_long_long_0_1_cdecl(), rb_dl_callback_long_long_0_2_cdecl(), rb_dl_callback_long_long_0_3_cdecl(), rb_dl_callback_long_long_0_4_cdecl(), rb_dl_callback_long_long_10_0_cdecl(), rb_dl_callback_long_long_10_1_cdecl(), rb_dl_callback_long_long_10_2_cdecl(), rb_dl_callback_long_long_10_3_cdecl(), rb_dl_callback_long_long_10_4_cdecl(), rb_dl_callback_long_long_11_0_cdecl(), rb_dl_callback_long_long_11_1_cdecl(), rb_dl_callback_long_long_11_2_cdecl(), rb_dl_callback_long_long_11_3_cdecl(), rb_dl_callback_long_long_11_4_cdecl(), rb_dl_callback_long_long_12_0_cdecl(), rb_dl_callback_long_long_12_1_cdecl(), rb_dl_callback_long_long_12_2_cdecl(), rb_dl_callback_long_long_12_3_cdecl(), rb_dl_callback_long_long_12_4_cdecl(), rb_dl_callback_long_long_13_0_cdecl(), rb_dl_callback_long_long_13_1_cdecl(), rb_dl_callback_long_long_13_2_cdecl(), rb_dl_callback_long_long_13_3_cdecl(), rb_dl_callback_long_long_13_4_cdecl(), rb_dl_callback_long_long_14_0_cdecl(), rb_dl_callback_long_long_14_1_cdecl(), rb_dl_callback_long_long_14_2_cdecl(), rb_dl_callback_long_long_14_3_cdecl(), rb_dl_callback_long_long_14_4_cdecl(), rb_dl_callback_long_long_15_0_cdecl(), rb_dl_callback_long_long_15_1_cdecl(), rb_dl_callback_long_long_15_2_cdecl(), rb_dl_callback_long_long_15_3_cdecl(), rb_dl_callback_long_long_15_4_cdecl(), rb_dl_callback_long_long_16_0_cdecl(), rb_dl_callback_long_long_16_1_cdecl(), rb_dl_callback_long_long_16_2_cdecl(), rb_dl_callback_long_long_16_3_cdecl(), rb_dl_callback_long_long_16_4_cdecl(), rb_dl_callback_long_long_17_0_cdecl(), rb_dl_callback_long_long_17_1_cdecl(), rb_dl_callback_long_long_17_2_cdecl(), rb_dl_callback_long_long_17_3_cdecl(), rb_dl_callback_long_long_17_4_cdecl(), rb_dl_callback_long_long_18_0_cdecl(), rb_dl_callback_long_long_18_1_cdecl(), rb_dl_callback_long_long_18_2_cdecl(), rb_dl_callback_long_long_18_3_cdecl(), rb_dl_callback_long_long_18_4_cdecl(), rb_dl_callback_long_long_19_0_cdecl(), rb_dl_callback_long_long_19_1_cdecl(), rb_dl_callback_long_long_19_2_cdecl(), rb_dl_callback_long_long_19_3_cdecl(), rb_dl_callback_long_long_19_4_cdecl(), rb_dl_callback_long_long_1_0_cdecl(), rb_dl_callback_long_long_1_1_cdecl(), rb_dl_callback_long_long_1_2_cdecl(), rb_dl_callback_long_long_1_3_cdecl(), rb_dl_callback_long_long_1_4_cdecl(), rb_dl_callback_long_long_2_0_cdecl(), rb_dl_callback_long_long_2_1_cdecl(), rb_dl_callback_long_long_2_2_cdecl(), rb_dl_callback_long_long_2_3_cdecl(), rb_dl_callback_long_long_2_4_cdecl(), rb_dl_callback_long_long_3_0_cdecl(), rb_dl_callback_long_long_3_1_cdecl(), rb_dl_callback_long_long_3_2_cdecl(), rb_dl_callback_long_long_3_3_cdecl(), rb_dl_callback_long_long_3_4_cdecl(), rb_dl_callback_long_long_4_0_cdecl(), rb_dl_callback_long_long_4_1_cdecl(), rb_dl_callback_long_long_4_2_cdecl(), rb_dl_callback_long_long_4_3_cdecl(), rb_dl_callback_long_long_4_4_cdecl(), rb_dl_callback_long_long_5_0_cdecl(), rb_dl_callback_long_long_5_1_cdecl(), rb_dl_callback_long_long_5_2_cdecl(), rb_dl_callback_long_long_5_3_cdecl(), rb_dl_callback_long_long_5_4_cdecl(), rb_dl_callback_long_long_6_0_cdecl(), rb_dl_callback_long_long_6_1_cdecl(), rb_dl_callback_long_long_6_2_cdecl(), rb_dl_callback_long_long_6_3_cdecl(), rb_dl_callback_long_long_6_4_cdecl(), rb_dl_callback_long_long_7_0_cdecl(), rb_dl_callback_long_long_7_1_cdecl(), rb_dl_callback_long_long_7_2_cdecl(), rb_dl_callback_long_long_7_3_cdecl(), rb_dl_callback_long_long_7_4_cdecl(), rb_dl_callback_long_long_8_0_cdecl(), rb_dl_callback_long_long_8_1_cdecl(), rb_dl_callback_long_long_8_2_cdecl(), rb_dl_callback_long_long_8_3_cdecl(), rb_dl_callback_long_long_8_4_cdecl(), rb_dl_callback_long_long_9_0_cdecl(), rb_dl_callback_long_long_9_1_cdecl(), rb_dl_callback_long_long_9_2_cdecl(), rb_dl_callback_long_long_9_3_cdecl(), rb_dl_callback_long_long_9_4_cdecl(), rb_dl_callback_ptr_0_0_cdecl(), rb_dl_callback_ptr_0_1_cdecl(), rb_dl_callback_ptr_0_2_cdecl(), rb_dl_callback_ptr_0_3_cdecl(), rb_dl_callback_ptr_0_4_cdecl(), rb_dl_callback_ptr_10_0_cdecl(), rb_dl_callback_ptr_10_1_cdecl(), rb_dl_callback_ptr_10_2_cdecl(), rb_dl_callback_ptr_10_3_cdecl(), rb_dl_callback_ptr_10_4_cdecl(), rb_dl_callback_ptr_11_0_cdecl(), rb_dl_callback_ptr_11_1_cdecl(), rb_dl_callback_ptr_11_2_cdecl(), rb_dl_callback_ptr_11_3_cdecl(), rb_dl_callback_ptr_11_4_cdecl(), rb_dl_callback_ptr_12_0_cdecl(), rb_dl_callback_ptr_12_1_cdecl(), rb_dl_callback_ptr_12_2_cdecl(), rb_dl_callback_ptr_12_3_cdecl(), rb_dl_callback_ptr_12_4_cdecl(), rb_dl_callback_ptr_13_0_cdecl(), rb_dl_callback_ptr_13_1_cdecl(), rb_dl_callback_ptr_13_2_cdecl(), rb_dl_callback_ptr_13_3_cdecl(), rb_dl_callback_ptr_13_4_cdecl(), rb_dl_callback_ptr_14_0_cdecl(), rb_dl_callback_ptr_14_1_cdecl(), rb_dl_callback_ptr_14_2_cdecl(), rb_dl_callback_ptr_14_3_cdecl(), rb_dl_callback_ptr_14_4_cdecl(), rb_dl_callback_ptr_15_0_cdecl(), rb_dl_callback_ptr_15_1_cdecl(), rb_dl_callback_ptr_15_2_cdecl(), rb_dl_callback_ptr_15_3_cdecl(), rb_dl_callback_ptr_15_4_cdecl(), rb_dl_callback_ptr_16_0_cdecl(), rb_dl_callback_ptr_16_1_cdecl(), rb_dl_callback_ptr_16_2_cdecl(), rb_dl_callback_ptr_16_3_cdecl(), rb_dl_callback_ptr_16_4_cdecl(), rb_dl_callback_ptr_17_0_cdecl(), rb_dl_callback_ptr_17_1_cdecl(), rb_dl_callback_ptr_17_2_cdecl(), rb_dl_callback_ptr_17_3_cdecl(), rb_dl_callback_ptr_17_4_cdecl(), rb_dl_callback_ptr_18_0_cdecl(), rb_dl_callback_ptr_18_1_cdecl(), rb_dl_callback_ptr_18_2_cdecl(), rb_dl_callback_ptr_18_3_cdecl(), rb_dl_callback_ptr_18_4_cdecl(), rb_dl_callback_ptr_19_0_cdecl(), rb_dl_callback_ptr_19_1_cdecl(), rb_dl_callback_ptr_19_2_cdecl(), rb_dl_callback_ptr_19_3_cdecl(), rb_dl_callback_ptr_19_4_cdecl(), rb_dl_callback_ptr_1_0_cdecl(), rb_dl_callback_ptr_1_1_cdecl(), rb_dl_callback_ptr_1_2_cdecl(), rb_dl_callback_ptr_1_3_cdecl(), rb_dl_callback_ptr_1_4_cdecl(), rb_dl_callback_ptr_2_0_cdecl(), rb_dl_callback_ptr_2_1_cdecl(), rb_dl_callback_ptr_2_2_cdecl(), rb_dl_callback_ptr_2_3_cdecl(), rb_dl_callback_ptr_2_4_cdecl(), rb_dl_callback_ptr_3_0_cdecl(), rb_dl_callback_ptr_3_1_cdecl(), rb_dl_callback_ptr_3_2_cdecl(), rb_dl_callback_ptr_3_3_cdecl(), rb_dl_callback_ptr_3_4_cdecl(), rb_dl_callback_ptr_4_0_cdecl(), rb_dl_callback_ptr_4_1_cdecl(), rb_dl_callback_ptr_4_2_cdecl(), rb_dl_callback_ptr_4_3_cdecl(), rb_dl_callback_ptr_4_4_cdecl(), rb_dl_callback_ptr_5_0_cdecl(), rb_dl_callback_ptr_5_1_cdecl(), rb_dl_callback_ptr_5_2_cdecl(), rb_dl_callback_ptr_5_3_cdecl(), rb_dl_callback_ptr_5_4_cdecl(), rb_dl_callback_ptr_6_0_cdecl(), rb_dl_callback_ptr_6_1_cdecl(), rb_dl_callback_ptr_6_2_cdecl(), rb_dl_callback_ptr_6_3_cdecl(), rb_dl_callback_ptr_6_4_cdecl(), rb_dl_callback_ptr_7_0_cdecl(), rb_dl_callback_ptr_7_1_cdecl(), rb_dl_callback_ptr_7_2_cdecl(), rb_dl_callback_ptr_7_3_cdecl(), rb_dl_callback_ptr_7_4_cdecl(), rb_dl_callback_ptr_8_0_cdecl(), rb_dl_callback_ptr_8_1_cdecl(), rb_dl_callback_ptr_8_2_cdecl(), rb_dl_callback_ptr_8_3_cdecl(), rb_dl_callback_ptr_8_4_cdecl(), rb_dl_callback_ptr_9_0_cdecl(), rb_dl_callback_ptr_9_1_cdecl(), rb_dl_callback_ptr_9_2_cdecl(), rb_dl_callback_ptr_9_3_cdecl(), rb_dl_callback_ptr_9_4_cdecl(), rb_dl_callback_short_0_0_cdecl(), rb_dl_callback_short_0_1_cdecl(), rb_dl_callback_short_0_2_cdecl(), rb_dl_callback_short_0_3_cdecl(), rb_dl_callback_short_0_4_cdecl(), rb_dl_callback_short_10_0_cdecl(), rb_dl_callback_short_10_1_cdecl(), rb_dl_callback_short_10_2_cdecl(), rb_dl_callback_short_10_3_cdecl(), rb_dl_callback_short_10_4_cdecl(), rb_dl_callback_short_11_0_cdecl(), rb_dl_callback_short_11_1_cdecl(), rb_dl_callback_short_11_2_cdecl(), rb_dl_callback_short_11_3_cdecl(), rb_dl_callback_short_11_4_cdecl(), rb_dl_callback_short_12_0_cdecl(), rb_dl_callback_short_12_1_cdecl(), rb_dl_callback_short_12_2_cdecl(), rb_dl_callback_short_12_3_cdecl(), rb_dl_callback_short_12_4_cdecl(), rb_dl_callback_short_13_0_cdecl(), rb_dl_callback_short_13_1_cdecl(), rb_dl_callback_short_13_2_cdecl(), rb_dl_callback_short_13_3_cdecl(), rb_dl_callback_short_13_4_cdecl(), rb_dl_callback_short_14_0_cdecl(), rb_dl_callback_short_14_1_cdecl(), rb_dl_callback_short_14_2_cdecl(), rb_dl_callback_short_14_3_cdecl(), rb_dl_callback_short_14_4_cdecl(), rb_dl_callback_short_15_0_cdecl(), rb_dl_callback_short_15_1_cdecl(), rb_dl_callback_short_15_2_cdecl(), rb_dl_callback_short_15_3_cdecl(), rb_dl_callback_short_15_4_cdecl(), rb_dl_callback_short_16_0_cdecl(), rb_dl_callback_short_16_1_cdecl(), rb_dl_callback_short_16_2_cdecl(), rb_dl_callback_short_16_3_cdecl(), rb_dl_callback_short_16_4_cdecl(), rb_dl_callback_short_17_0_cdecl(), rb_dl_callback_short_17_1_cdecl(), rb_dl_callback_short_17_2_cdecl(), rb_dl_callback_short_17_3_cdecl(), rb_dl_callback_short_17_4_cdecl(), rb_dl_callback_short_18_0_cdecl(), rb_dl_callback_short_18_1_cdecl(), rb_dl_callback_short_18_2_cdecl(), rb_dl_callback_short_18_3_cdecl(), rb_dl_callback_short_18_4_cdecl(), rb_dl_callback_short_19_0_cdecl(), rb_dl_callback_short_19_1_cdecl(), rb_dl_callback_short_19_2_cdecl(), rb_dl_callback_short_19_3_cdecl(), rb_dl_callback_short_19_4_cdecl(), rb_dl_callback_short_1_0_cdecl(), rb_dl_callback_short_1_1_cdecl(), rb_dl_callback_short_1_2_cdecl(), rb_dl_callback_short_1_3_cdecl(), rb_dl_callback_short_1_4_cdecl(), rb_dl_callback_short_2_0_cdecl(), rb_dl_callback_short_2_1_cdecl(), rb_dl_callback_short_2_2_cdecl(), rb_dl_callback_short_2_3_cdecl(), rb_dl_callback_short_2_4_cdecl(), rb_dl_callback_short_3_0_cdecl(), rb_dl_callback_short_3_1_cdecl(), rb_dl_callback_short_3_2_cdecl(), rb_dl_callback_short_3_3_cdecl(), rb_dl_callback_short_3_4_cdecl(), rb_dl_callback_short_4_0_cdecl(), rb_dl_callback_short_4_1_cdecl(), rb_dl_callback_short_4_2_cdecl(), rb_dl_callback_short_4_3_cdecl(), rb_dl_callback_short_4_4_cdecl(), rb_dl_callback_short_5_0_cdecl(), rb_dl_callback_short_5_1_cdecl(), rb_dl_callback_short_5_2_cdecl(), rb_dl_callback_short_5_3_cdecl(), rb_dl_callback_short_5_4_cdecl(), rb_dl_callback_short_6_0_cdecl(), rb_dl_callback_short_6_1_cdecl(), rb_dl_callback_short_6_2_cdecl(), rb_dl_callback_short_6_3_cdecl(), rb_dl_callback_short_6_4_cdecl(), rb_dl_callback_short_7_0_cdecl(), rb_dl_callback_short_7_1_cdecl(), rb_dl_callback_short_7_2_cdecl(), rb_dl_callback_short_7_3_cdecl(), rb_dl_callback_short_7_4_cdecl(), rb_dl_callback_short_8_0_cdecl(), rb_dl_callback_short_8_1_cdecl(), rb_dl_callback_short_8_2_cdecl(), rb_dl_callback_short_8_3_cdecl(), rb_dl_callback_short_8_4_cdecl(), rb_dl_callback_short_9_0_cdecl(), rb_dl_callback_short_9_1_cdecl(), rb_dl_callback_short_9_2_cdecl(), rb_dl_callback_short_9_3_cdecl(), rb_dl_callback_short_9_4_cdecl(), rb_dl_callback_void_0_0_cdecl(), rb_dl_callback_void_0_1_cdecl(), rb_dl_callback_void_0_2_cdecl(), rb_dl_callback_void_0_3_cdecl(), rb_dl_callback_void_0_4_cdecl(), rb_dl_callback_void_10_0_cdecl(), rb_dl_callback_void_10_1_cdecl(), rb_dl_callback_void_10_2_cdecl(), rb_dl_callback_void_10_3_cdecl(), rb_dl_callback_void_10_4_cdecl(), rb_dl_callback_void_11_0_cdecl(), rb_dl_callback_void_11_1_cdecl(), rb_dl_callback_void_11_2_cdecl(), rb_dl_callback_void_11_3_cdecl(), rb_dl_callback_void_11_4_cdecl(), rb_dl_callback_void_12_0_cdecl(), rb_dl_callback_void_12_1_cdecl(), rb_dl_callback_void_12_2_cdecl(), rb_dl_callback_void_12_3_cdecl(), rb_dl_callback_void_12_4_cdecl(), rb_dl_callback_void_13_0_cdecl(), rb_dl_callback_void_13_1_cdecl(), rb_dl_callback_void_13_2_cdecl(), rb_dl_callback_void_13_3_cdecl(), rb_dl_callback_void_13_4_cdecl(), rb_dl_callback_void_14_0_cdecl(), rb_dl_callback_void_14_1_cdecl(), rb_dl_callback_void_14_2_cdecl(), rb_dl_callback_void_14_3_cdecl(), rb_dl_callback_void_14_4_cdecl(), rb_dl_callback_void_15_0_cdecl(), rb_dl_callback_void_15_1_cdecl(), rb_dl_callback_void_15_2_cdecl(), rb_dl_callback_void_15_3_cdecl(), rb_dl_callback_void_15_4_cdecl(), rb_dl_callback_void_16_0_cdecl(), rb_dl_callback_void_16_1_cdecl(), rb_dl_callback_void_16_2_cdecl(), rb_dl_callback_void_16_3_cdecl(), rb_dl_callback_void_16_4_cdecl(), rb_dl_callback_void_17_0_cdecl(), rb_dl_callback_void_17_1_cdecl(), rb_dl_callback_void_17_2_cdecl(), rb_dl_callback_void_17_3_cdecl(), rb_dl_callback_void_17_4_cdecl(), rb_dl_callback_void_18_0_cdecl(), rb_dl_callback_void_18_1_cdecl(), rb_dl_callback_void_18_2_cdecl(), rb_dl_callback_void_18_3_cdecl(), rb_dl_callback_void_18_4_cdecl(), rb_dl_callback_void_19_0_cdecl(), rb_dl_callback_void_19_1_cdecl(), rb_dl_callback_void_19_2_cdecl(), rb_dl_callback_void_19_3_cdecl(), rb_dl_callback_void_19_4_cdecl(), rb_dl_callback_void_1_0_cdecl(), rb_dl_callback_void_1_1_cdecl(), rb_dl_callback_void_1_2_cdecl(), rb_dl_callback_void_1_3_cdecl(), rb_dl_callback_void_1_4_cdecl(), rb_dl_callback_void_2_0_cdecl(), rb_dl_callback_void_2_1_cdecl(), rb_dl_callback_void_2_2_cdecl(), rb_dl_callback_void_2_3_cdecl(), rb_dl_callback_void_2_4_cdecl(), rb_dl_callback_void_3_0_cdecl(), rb_dl_callback_void_3_1_cdecl(), rb_dl_callback_void_3_2_cdecl(), rb_dl_callback_void_3_3_cdecl(), rb_dl_callback_void_3_4_cdecl(), rb_dl_callback_void_4_0_cdecl(), rb_dl_callback_void_4_1_cdecl(), rb_dl_callback_void_4_2_cdecl(), rb_dl_callback_void_4_3_cdecl(), rb_dl_callback_void_4_4_cdecl(), rb_dl_callback_void_5_0_cdecl(), rb_dl_callback_void_5_1_cdecl(), rb_dl_callback_void_5_2_cdecl(), rb_dl_callback_void_5_3_cdecl(), rb_dl_callback_void_5_4_cdecl(), rb_dl_callback_void_6_0_cdecl(), rb_dl_callback_void_6_1_cdecl(), rb_dl_callback_void_6_2_cdecl(), rb_dl_callback_void_6_3_cdecl(), rb_dl_callback_void_6_4_cdecl(), rb_dl_callback_void_7_0_cdecl(), rb_dl_callback_void_7_1_cdecl(), rb_dl_callback_void_7_2_cdecl(), rb_dl_callback_void_7_3_cdecl(), rb_dl_callback_void_7_4_cdecl(), rb_dl_callback_void_8_0_cdecl(), rb_dl_callback_void_8_1_cdecl(), rb_dl_callback_void_8_2_cdecl(), rb_dl_callback_void_8_3_cdecl(), rb_dl_callback_void_8_4_cdecl(), rb_dl_callback_void_9_0_cdecl(), rb_dl_callback_void_9_1_cdecl(), rb_dl_callback_void_9_2_cdecl(), rb_dl_callback_void_9_3_cdecl(), rb_dl_callback_void_9_4_cdecl(), rb_eval_cmd(), rb_f_gets(), rb_f_open(), rb_f_putc(), rb_f_puts(), rb_f_readline(), rb_f_readlines(), rb_hash_flatten(), rb_io_set_encoding(), rb_obj_call_init(), rb_str_match_m(), rb_syck_io_str_read(), require_libraries(), syck_parser_assign_io(), tk_do_callback(), tk_fromUTF8(), tk_toUTF8(), vm_call0(), vm_call_method(), and vm_method_missing().

VALUE rb_funcall3 | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | const VALUE * | argv
| ) |  |

Calls a method.

Same as rb_funcall2 but this function can call only public methods.

Parameters:

  recv | receiver of the method
  mid | an ID that represents the name of the method
  argc | the number of arguments
  argv | pointer to an array of method arguments

Definition at line 664 of file vm_eval.c.

References CALL_PUBLIC, and rb_call().

Referenced by argf_close(), argf_forward(), argf_getbyte(), argf_getc(), argf_getline(), argf_readchar(), rb_f_chomp(), rb_f_chop(), rb_f_gsub(), and rb_f_sub().

VALUE rb_funcall_passing_block | ( | VALUE | recv,
|  | ID | mid,
|  | int | argc,
|  | const VALUE * | argv
| ) |  |

Definition at line 670 of file vm_eval.c.

References CALL_PUBLIC, GET_THREAD, PASS_PASSED_BLOCK_TH, and rb_call().

Referenced by sym_call().

VALUE rb_iterate | ( | VALUE(*)(VALUE) | it_proc,
|  | VALUE | data1,
|  | VALUE(*)(ANYARGS) | bl_proc,
|  | VALUE | data2
| ) |  |

Definition at line 836 of file vm_eval.c.

References rb_method_entry_struct::called_id, rb_thread_struct::cfp, rb_control_frame_t::dfp, err, rb_thread_struct::errinfo, EXEC_EVENT_HOOK, GC_GUARDED_PTR_REF, GET_THREAD, GET_THROWOBJ_CATCH_POINT, rb_block_struct::iseq, rb_method_entry_struct::klass, rb_control_frame_t::lfp, rb_control_frame_t::me, NEW_IFUNC, rb_thread_struct::passed_block, rb_block_struct::proc, Qnil, RUBY_EVENT_C_RETURN, RUBY_VM_GET_BLOCK_PTR_IN_CFP, RUBY_VM_PREVIOUS_CONTROL_FRAME, rb_control_frame_t::self, rb_thread_struct::state, TAG_BREAK, TAG_RETRY, TH_EXEC_TAG, TH_JUMP_TAG, TH_POP_TAG, TH_PUSH_TAG, UNLIKELY, VM_FRAME_MAGIC_CFUNC, and VM_FRAME_TYPE.

Referenced by call_lexer(), method_proc(), rb_block_call(), and rb_proc_new().

VALUE rb_make_backtrace | ( | void |  | ) |

Definition at line 1618 of file vm_eval.c.

References GET_THREAD, and vm_backtrace().

Referenced by argument_error(), parser_set_encode(), and setup_exception().

static int rb_method_call_status | ( | rb_thread_t * | th,
|  | rb_method_entry_t * | me,
|  | call_type | scope,
|  | VALUE | self
| ) |  | `[inline, static]`

Definition at line 378 of file vm_eval.c.

References CALL_PUBLIC, CALL_VCALL, rb_method_entry_struct::called_id, rb_thread_struct::cfp, rb_method_entry_struct::def, rb_method_entry_struct::flag, rb_method_entry_struct::klass, NOEX_MASK, NOEX_OK, NOEX_PRIVATE, NOEX_PROTECTED, NOEX_SAFE, NOEX_VCALL, rb_method_definition_struct::original_id, Qundef, rb_eSecurityError, rb_id2name(), rb_obj_is_kind_of(), rb_raise(), RBASIC, rb_thread_struct::safe_level, rb_control_frame_t::self, T_ICLASS, TYPE, UNDEFINED_METHOD_ENTRY_P, and UNLIKELY.

Referenced by check_funcall(), and rb_call0().

static VALUE rb_method_missing | ( | int | argc,
|  | const VALUE * | argv,
|  | VALUE | obj
| ) |  | `[static]`

Definition at line 478 of file vm_eval.c.

References GET_THREAD, rb_thread_struct::method_missing_reason, Qnil, and raise_method_missing().

Referenced by Init_vm_eval().

VALUE rb_mod_module_eval | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | mod
| ) |  |

Definition at line 1372 of file vm_eval.c.

References specific_eval().

Referenced by Init_vm_eval(), and rb_struct_s_def().

VALUE rb_mod_module_exec | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | mod
| ) |  |

Definition at line 1398 of file vm_eval.c.

References rb_ary_new4(), and yield_under().

Referenced by Init_vm_eval(), and rb_mod_initialize().

VALUE rb_obj_instance_eval | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |

Definition at line 1302 of file vm_eval.c.

References Qnil, rb_singleton_class(), SPECIAL_CONST_P, and specific_eval().

Referenced by Init_vm_eval(), and tk_s_new().

VALUE rb_obj_instance_exec | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |

Definition at line 1334 of file vm_eval.c.

References Qnil, rb_ary_new4(), rb_singleton_class(), SPECIAL_CONST_P, and yield_under().

Referenced by Init_vm_eval(), and tk_s_new().

void rb_raise_method_missing | ( | rb_thread_t * | th,
|  | int | argc,
|  | VALUE * | argv,
|  | VALUE | obj,
|  | int | call_status
| ) |  |

Definition at line 581 of file vm_eval.c.

References NOEX_MISSING, rb_thread_struct::passed_block, and raise_method_missing().

Referenced by vm_call_method().

static rb_method_entry_t * rb_search_method_entry | ( | VALUE | recv,
|  | ID | mid
| ) |  | `[inline, static]`

Definition at line 335 of file vm_eval.c.

References BUILTIN_TYPE, CLASS_OF, IMMEDIATE_P, PRIxVALUE, rb_eNotImpError, rb_id2name(), rb_method_entry(), rb_raise(), rb_type_str(), RBASIC, T_NIL, T_OBJECT, and type.

Referenced by check_funcall(), and rb_call0().

VALUE rb_thread_backtrace | ( | VALUE | thval | ) |

Definition at line 1624 of file vm_eval.c.

References GetThreadPtr, Qnil, rb_thread_struct::status, THREAD_KILLED, THREAD_RUNNABLE, THREAD_STOPPED, THREAD_STOPPED_FOREVER, THREAD_TO_KILL, and vm_backtrace().

Referenced by rb_thread_backtrace_m().

void rb_throw | ( | const char * | tag,
|  | VALUE | val
| ) |  |

Definition at line 1449 of file vm_eval.c.

References ID2SYM, rb_intern, and rb_throw_obj().

void rb_throw_obj | ( | VALUE | tag,
|  | VALUE | value
| ) |  |

Definition at line 1426 of file vm_eval.c.

References rb_thread_struct::errinfo, GET_THREAD, JUMP_TAG, NEW_THROW_OBJECT, rb_vm_tag::prev, rb_eArgError, rb_inspect(), rb_raise(), rb_trap_restore_mask(), rb_vm_tag::retval, RSTRING_PTR, rb_vm_tag::tag, rb_thread_struct::tag, and TAG_THROW.

Referenced by exec_recursive(), rb_f_throw(), and rb_throw().

static const char* rb_type_str | ( | enum ruby_value_type | type | ) | `[static]`

Definition at line 300 of file vm_eval.c.

References NULL, T_ARRAY, T_BIGNUM, T_CLASS, T_COMPLEX, T_DATA, T_FALSE, T_FILE, T_FIXNUM, T_FLOAT, T_HASH, T_ICLASS, T_MATCH, T_MODULE, T_NIL, T_NODE, T_NONE, T_OBJECT, T_RATIONAL, T_REGEXP, T_STRING, T_STRUCT, T_SYMBOL, T_TRUE, T_UNDEF, T_ZOMBIE, and type_case.

Referenced by rb_search_method_entry().

VALUE rb_vm_call | ( | rb_thread_t * | th,
|  | VALUE | recv,
|  | VALUE | id,
|  | int | argc,
|  | const VALUE * | argv,
|  | const rb_method_entry_t * | me
| ) |  |

Definition at line 151 of file vm_eval.c.

References vm_call0().

Referenced by rb_method_call().

static VALUE rb_vm_set_finish_env | ( | rb_thread_t * | th | ) | `[inline, static]`

Referenced by vm_call0().

VALUE rb_yield | ( | VALUE | val | ) |

Definition at line 744 of file vm_eval.c.

References Qundef, and rb_yield_0().

Referenced by ary_add_hash_by(), chdir_yield(), cycle_i(), dir_each(), dir_s_open(), drop_while_i(), each_cons_i(), each_i(), each_key_i(), each_pair_i(), each_slice_i(), each_val_i(), each_value_i(), enum_cycle(), enum_each_slice(), enum_reverse_each(), env_delete_m(), env_each_key(), env_each_pair(), env_each_value(), env_fetch(), fdbm_delete(), fdbm_delete_if(), fdbm_each_key(), fdbm_each_pair(), fdbm_each_value(), fdbm_fetch(), fdbm_s_open(), fdbm_select(), fgdbm_delete_if(), fgdbm_each_key(), fgdbm_each_pair(), fgdbm_each_value(), fgdbm_fetch(), fgdbm_s_open(), fgdbm_select(), find_all_i(), find_i(), fsdbm_delete(), fsdbm_delete_if(), fsdbm_each_key(), fsdbm_each_pair(), fsdbm_each_value(), fsdbm_fetch(), fsdbm_s_open(), fsdbm_select(), grep_iter_i(), group_by_i(), hist_each(), iconv_fail_retry(), iconv_s_open(), int_dotimes(), int_downto(), int_upto(), io_s_foreach(), max_by_i(), min_by_i(), minmax_by_i(), mSyslog_open(), num_step(), ole_each_sub(), os_obj_of_i(), ossl_asn1_decode0(), ossl_generate_cb(), ossl_pem_passwd_cb0(), p_gid_switch(), p_uid_switch(), partition_i(), permute0(), pty_getpty(), pty_open(), range_each(), range_step(), rb_ary_collect(), rb_ary_collect_bang(), rb_ary_combination(), rb_ary_count(), rb_ary_cycle(), rb_ary_delete(), rb_ary_drop_while(), rb_ary_each(), rb_ary_each_index(), rb_ary_fetch(), rb_ary_fill(), rb_ary_index(), rb_ary_initialize(), rb_ary_permutation(), rb_ary_product(), rb_ary_reject_bang(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_reverse_each(), rb_ary_rindex(), rb_ary_select(), rb_ary_select_bang(), rb_ary_take_while(), rb_ary_zip(), rb_callcc(), rb_dlhandle_initialize(), rb_f_open(), rb_gzfile_s_wrap(), rb_gzreader_each(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_hash_delete(), rb_hash_fetch_m(), rb_io_each_byte(), rb_io_each_char(), rb_io_each_codepoint(), rb_io_each_line(), rb_io_s_open(), rb_io_s_pipe(), rb_io_s_popen(), rb_obj_tap(), rb_reg_match_m(), rb_str_each_byte(), rb_str_each_char(), rb_str_each_codepoint(), rb_str_each_line(), rb_str_match_m(), rb_str_scan(), rb_str_sub_bang(), rb_str_upto(), rb_struct_each(), rb_struct_select(), rcombinate0(), reject_i(), rpermute0(), ruby_float_step(), sort_by_i(), step_i(), str_gsub(), strio_each(), strio_each_byte(), strio_each_char(), strio_each_codepoint(), strio_s_open(), syck_out_map(), syck_out_seq(), sym_each_i(), sym_step_i(), window_attron(), zip_ary(), and zip_i().

static VALUE rb_yield_0 | ( | int | argc,
|  | const VALUE * | argv
| ) |  | `[inline, static]`

Definition at line 738 of file vm_eval.c.

References GET_THREAD, and vm_yield().

Referenced by catch_i(), loop_i(), rb_yield(), rb_yield_splat(), rb_yield_values(), and rb_yield_values2().

VALUE rb_yield_splat | ( | VALUE | values | ) |

Definition at line 783 of file vm_eval.c.

References NIL_P, RARRAY_LENINT, RARRAY_PTR, rb_check_array_type(), rb_eArgError, rb_raise(), and rb_yield_0().

VALUE rb_yield_values | ( | int | n,
|  |  | ...
| ) |  |

Definition at line 755 of file vm_eval.c.

References ALLOCA_N, argv, rb_yield_0(), and va_init_list.

Referenced by delete_if_i(), each_with_index_i(), each_with_object_i(), enumerator_with_index_i(), enumerator_with_object_i(), env_reject_bang(), env_select(), env_select_bang(), env_update_i(), inject_i(), keep_if_i(), max_ii(), min_ii(), minmax_ii(), minmax_ii_update(), rb_hash_update_block_i(), rb_struct_each_pair(), select_i(), and sort_1().

VALUE rb_yield_values2 | ( | int | argc,
|  | const VALUE * | argv
| ) |  |

Definition at line 777 of file vm_eval.c.

References rb_yield_0().

Referenced by yielder_yield_i().

static VALUE send_internal | ( | int | argc,
|  | const VALUE * | argv,
|  | VALUE | recv,
|  | call_type | scope
| ) |  | `[static]`

Definition at line 678 of file vm_eval.c.

References GET_THREAD, PASS_PASSED_BLOCK_TH, rb_call0(), rb_eArgError, rb_raise(), rb_to_id(), and RUBY_VM_PREVIOUS_CONTROL_FRAME.

Referenced by rb_f_public_send(), rb_f_send(), and vm_call0().

static VALUE specific_eval | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | klass,
|  | VALUE | self
| ) |  | `[static]`

Definition at line 1240 of file vm_eval.c.

References eval_under(), name, NUM2INT, Qundef, rb_block_given_p(), rb_eArgError, rb_frame_callee(), rb_id2name(), rb_raise(), rb_safe_level, SafeStringValue, StringValue, StringValuePtr, and yield_under().

Referenced by rb_mod_module_eval(), and rb_obj_instance_eval().

static void stack_check | ( | void |  | ) | `[inline, static]`

Definition at line 195 of file vm_eval.c.

References GET_THREAD, RAISED_STACKOVERFLOW, rb_exc_raise(), rb_thread_raised_p, rb_thread_raised_set, ruby_stack_check(), and sysstack_error.

Referenced by check_funcall(), raise_method_missing(), and rb_call0().

static VALUE vm_backtrace | ( | rb_thread_t * | th,
|  | int | lev
| ) |  | `[inline, static]`

Referenced by eval_string_with_cref(), rb_f_caller(), rb_make_backtrace(), and rb_thread_backtrace().

static int vm_backtrace_each | ( | rb_thread_t * | th,
|  | int | lev,
|  | void(*)(void *) | init,
|  | rb_backtrace_iter_func * | iter,
|  | void * | arg
| ) |  | `[static]`

Referenced by rb_backtrace(), and rb_backtrace_each().

static VALUE vm_call0 | ( | rb_thread_t * | th,
|  | VALUE | recv,
|  | VALUE | id,
|  | int | argc,
|  | const VALUE * | argv,
|  | const rb_method_entry_t * | me
| ) |  | `[inline, static]`

Definition at line 35 of file vm_eval.c.

References rb_method_cfunc_struct::argc, argc, rb_method_definition_struct::attr, rb_proc_t::block, rb_method_definition_struct::body, call_cfunc(), CALL_FCALL, rb_thread_struct::cfp, rb_method_definition_struct::cfunc, CHECK_STACK_OVERFLOW, rb_method_entry_struct::def, EXEC_EVENT_HOOK, rb_method_cfunc_struct::func, GetProcPtr, rb_method_attr_struct::id, ID2SYM, rb_method_entry_struct::klass, rb_control_frame_t::me, method_missing(), new_args, NOEX_SUPER, rb_method_definition_struct::optimize_type, rb_thread_struct::passed_block, Qnil, Qundef, RARRAY_PTR, rb_ary_new4(), rb_ary_unshift(), rb_attr_get(), rb_bug(), rb_eArgError, rb_funcall2(), RB_GC_GUARD, rb_ivar_set(), rb_method_entry(), rb_raise(), rb_vm_invoke_proc(), rb_vm_set_finish_env(), RCLASS_SUPER, RUBY_EVENT_C_CALL, RUBY_EVENT_C_RETURN, RUBY_VM_CHECK_INTS, rb_block_struct::self, send_internal(), rb_control_frame_t::sp, rb_method_definition_struct::type, vm_call_bmethod(), vm_exec(), VM_FRAME_MAGIC_CFUNC, VM_METHOD_TYPE_ATTRSET, VM_METHOD_TYPE_BMETHOD, VM_METHOD_TYPE_CFUNC, VM_METHOD_TYPE_ISEQ, VM_METHOD_TYPE_IVAR, VM_METHOD_TYPE_MISSING, VM_METHOD_TYPE_NOTIMPLEMENTED, VM_METHOD_TYPE_OPTIMIZED, VM_METHOD_TYPE_ZSUPER, vm_pop_frame(), vm_push_frame(), and vm_setup_method().

Referenced by check_funcall(), rb_call0(), rb_vm_call(), and vm_call_super().

static VALUE vm_call_super | ( | rb_thread_t * | th,
|  | int | argc,
|  | const VALUE * | argv
| ) |  | `[inline, static]`

Definition at line 158 of file vm_eval.c.

References rb_thread_struct::cfp, rb_method_entry_struct::def, id, rb_control_frame_t::iseq, rb_method_entry_struct::klass, rb_control_frame_t::me, method_missing(), NOEX_SUPER, rb_method_definition_struct::original_id, rb_bug(), rb_method_entry(), RCLASS_SUPER, rb_control_frame_t::self, vm_call0(), and vm_search_normal_superclass().

Referenced by rb_call_super().

static int vm_collect_local_variables_in_heap | ( | rb_thread_t * | th,
|  | VALUE * | dfp,
|  | VALUE | ary
| ) |  | `[static]`

Referenced by rb_f_local_variables().

static NODE* vm_cref_push | ( | rb_thread_t * | th,
|  | VALUE | klass,
|  | int | noex,
|  | rb_block_t * | blockptr
| ) |  | `[static]`

Referenced by eval_under(), and yield_under().

static VALUE vm_exec | ( | rb_thread_t * | th | ) | `[static]`

Referenced by eval_string_with_cref(), and vm_call0().

static void vm_set_eval_stack | ( | rb_thread_t * | th,
|  | VALUE | iseqval,
|  | const NODE * | cref
| ) |  | `[static]`

Referenced by eval_string_with_cref().

static VALUE vm_yield | ( | rb_thread_t * | th,
|  | int | argc,
|  | const VALUE * | argv
| ) |  | `[inline, static]`

Referenced by rb_yield_0().

static VALUE vm_yield_with_cref | ( | rb_thread_t * | th,
|  | int | argc,
|  | const VALUE * | argv,
|  | const NODE * | cref
| ) |  | `[inline, static]`

Referenced by yield_under().

static VALUE yield_under | ( | VALUE | under,
|  | VALUE | self,
|  | VALUE | values
| ) |  | `[static]`

Definition at line 1201 of file vm_eval.c.

References rb_thread_struct::cfp, RNode::flags, GC_GUARDED_PTR, GC_GUARDED_PTR_REF, GET_THREAD, rb_control_frame_t::lfp, NODE_FL_CREF_PUSHED_BY_EVAL, NOEX_PUBLIC, Qundef, RARRAY_LENINT, RARRAY_PTR, rb_block_struct::self, vm_cref_push(), and vm_yield_with_cref().

Referenced by rb_mod_module_exec(), rb_obj_instance_exec(), and specific_eval().