|
Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
#include "eval_intern.h"#include "internal.h"#include "gc.h"#include "vm_core.h"#include "iseq.h"Go to the source code of this file.
Data Structures | |
| struct | METHOD |
| struct | cfunc_proc_t |
Macros | |
| #define | PROC_NEW_REQUIRES_BLOCK 0 |
| #define | NO_CLOBBERED(v) (*(volatile VALUE *)&(v)) |
| #define | UPDATE_TYPED_REFERENCE(_type, _ref) *(_type*)&_ref = (_type)rb_gc_location((VALUE)_ref) |
| #define | UPDATE_REFERENCE(_ref) UPDATE_TYPED_REFERENCE(VALUE, _ref) |
| #define | attached id__attached__ |
| #define | IS_METHOD_PROC_IFUNC(ifunc) ((ifunc)->func == bmcall) |
| #define | check_argc(argc) (argc) |
| #define | MSG(s) rb_fstring_lit("undefined method `%1$s' for"s" `%2$s'") |
Variables | |
| VALUE | rb_cUnboundMethod |
| VALUE | rb_cMethod |
| VALUE | rb_cBinding |
| VALUE | rb_cProc |
| const rb_data_type_t | ruby_binding_data_type |
| #define attached id__attached__ |
| #define IS_METHOD_PROC_IFUNC | ( | ifunc | ) | ((ifunc)->func == bmcall) |
| #define MSG | ( | s | ) | rb_fstring_lit("undefined method `%1$s' for"s" `%2$s'") |
| #define UPDATE_REFERENCE | ( | _ref | ) | UPDATE_TYPED_REFERENCE(VALUE, _ref) |
| #define UPDATE_TYPED_REFERENCE | ( | _type, | |
| _ref | |||
| ) | *(_type*)&_ref = (_type)rb_gc_location((VALUE)_ref) |
Definition at line 4057 of file proc.c.
References CLASS_OF, rb_cBinding, rb_cObject, rb_define_class(), rb_define_method(), rb_undef_alloc_func(), and rb_undef_method().
Definition at line 3907 of file proc.c.
References rb_cObject, rb_cProc, rb_define_class(), rb_define_singleton_method(), and rb_undef_alloc_func().
Definition at line 331 of file proc.c.
References klass, obj, ruby_binding_data_type, and TypedData_Make_Struct.
Definition at line 364 of file proc.c.
References rb_execution_context_struct::cfp, GET_EC, and rb_vm_make_binding().
Definition at line 837 of file proc.c.
Referenced by rb_f_trace_var(), rb_method_call(), and rb_method_call_kw().
Definition at line 1360 of file proc.c.
References PRIsVALUE, rb_obj_class(), rb_sprintf(), and str.
| VALUE rb_func_lambda_new | ( | rb_block_call_func_t | func, |
| VALUE | val, | ||
| int | min_argc, | ||
| int | max_argc | ||
| ) |
Definition at line 735 of file proc.c.
References vm_ifunc::func, max_argc, min_argc, and rb_vm_ifunc_new().
| MJIT_FUNC_EXPORTED VALUE rb_func_proc_new | ( | rb_block_call_func_t | func, |
| VALUE | val | ||
| ) |
| st_index_t rb_hash_proc | ( | st_index_t | hash, |
| VALUE | prc | ||
| ) |
| MJIT_FUNC_EXPORTED VALUE rb_iseq_location | ( | const rb_iseq_t * | iseq | ) |
Definition at line 2273 of file proc.c.
References argc, argv, Qnil, rb_block_given_p(), rb_block_proc(), and rb_method_call_with_block().
Definition at line 2266 of file proc.c.
References argc, argv, Qnil, rb_block_given_p(), rb_block_proc(), and rb_method_call_with_block_kw().
| VALUE rb_method_call_with_block | ( | int | argc, |
| const VALUE * | argv, | ||
| VALUE | method, | ||
| VALUE | passed_procval | ||
| ) |
Definition at line 2309 of file proc.c.
References argc, argv, rb_method_call_with_block_kw(), and RB_NO_KEYWORDS.
Referenced by rb_method_call().
| VALUE rb_method_call_with_block_kw | ( | int | argc, |
| const VALUE * | argv, | ||
| VALUE | method, | ||
| VALUE | passed_procval, | ||
| int | kw_splat | ||
| ) |
Definition at line 2296 of file proc.c.
References GET_EC, and TypedData_Get_Struct.
Referenced by rb_method_call_kw(), and rb_method_call_with_block().
| const rb_method_definition_t* rb_method_def | ( | VALUE | method | ) |
Definition at line 2658 of file proc.c.
References TypedData_Get_Struct.
| int rb_method_entry_arity | ( | const rb_method_entry_t * | me | ) |
| VALUE rb_method_entry_location | ( | const rb_method_entry_t * | me | ) |
Definition at line 1778 of file proc.c.
References attached, BUILTIN_TYPE, FL_SINGLETON, FL_TEST, klass, MSG, obj, rb_ivar_get(), rb_name_err_raise_str, RB_TYPE_P, str, T_CLASS, and T_MODULE.
Definition at line 1459 of file proc.c.
References rb_typeddata_is_kind_of().
Definition at line 152 of file proc.c.
References rb_typeddata_is_kind_of().
Definition at line 2652 of file proc.c.
References CLASS_OF, obj, and rb_mod_method_arity().
Definition at line 1904 of file proc.c.
References klass, me, NIL_P, obj, rb_check_id(), rb_name_err_raise, rb_singleton_class_get(), and RCLASS_ORIGIN.
Definition at line 145 of file proc.c.
References klass, and TypedData_Make_Struct.
Definition at line 966 of file proc.c.
References check_argc, GET_EC, GetProcPtr, RARRAY_CONST_PTR, RARRAY_LEN, RB_GC_GUARD, RB_NO_KEYWORDS, rb_vm_invoke_proc(), and VM_BLOCK_HANDLER_NONE.
Referenced by rb_call_end_proc().
Definition at line 948 of file proc.c.
References argc, argv, check_argc, GET_EC, GetProcPtr, RARRAY_CONST_PTR, RARRAY_LEN, rb_adjust_argv_kw_splat(), rb_free_tmp_buffer(), RB_GC_GUARD, rb_vm_invoke_proc(), v, and VM_BLOCK_HANDLER_NONE.
Definition at line 1000 of file proc.c.
References argc, argv, GET_EC, GetProcPtr, RB_NO_KEYWORDS, and rb_vm_invoke_proc().
| VALUE rb_proc_call_with_block_kw | ( | VALUE | self, |
| int | argc, | ||
| const VALUE * | argv, | ||
| VALUE | passed_procval, | ||
| int | kw_splat | ||
| ) |
Definition at line 986 of file proc.c.
References argc, argv, GET_EC, GetProcPtr, rb_adjust_argv_kw_splat(), rb_vm_invoke_proc(), and v.
Definition at line 1194 of file proc.c.
References GetProcPtr, and rb_block::proc.
Referenced by rb_resolve_me_location().
Definition at line 275 of file proc.c.
References GetProcPtr, rb_proc_t::is_lambda, Qfalse, and Qtrue.
| VALUE rb_proc_new | ( | rb_block_call_func_t | func, |
| VALUE | val | ||
| ) |
Definition at line 2991 of file proc.c.
References ruby::backward::cxxanyargs::rb_iterate().
| MJIT_FUNC_EXPORTED VALUE rb_sym_to_proc | ( | VALUE | sym | ) |
Definition at line 1312 of file proc.c.
References id, index, Qfalse, Qnil, RARRAY_AREF, rb_ary_store(), rb_ary_tmp_new(), rb_gc_register_mark_object(), sym, and SYM2ID.
Definition at line 1262 of file proc.c.
References CONST_ID, ID2SYM, n, OBJ_FREEZE, rb_ary_new2, rb_ary_new3, rb_ary_push(), and rb_ary_store().
| struct vm_ifunc* rb_vm_ifunc_new | ( | rb_block_call_func_t | func, |
| const void * | data, | ||
| int | min_argc, | ||
| int | max_argc | ||
| ) |
Definition at line 699 of file proc.c.
References vm_ifunc::argc, CHAR_BIT, IFUNC_NEW, max_argc, min_argc, rb_eRangeError, rb_raise(), SIZEOF_INT, SIZEOF_VALUE, and UNLIMITED_ARGUMENTS.
Referenced by rb_func_lambda_new(), and rb_lambda_call().
| const rb_data_type_t ruby_binding_data_type |
Definition at line 319 of file proc.c.
Referenced by rb_binding_alloc().