#include "ruby/ruby.h"#include "vm_core.h"#include <stdio.h>#include <setjmp.h>#include <sys/types.h>#include <signal.h>#include <errno.h>#include <sys/stat.h>Go to the source code of this file.
Defines | |
| #define | PASS_PASSED_BLOCK_TH(th) |
| #define | PASS_PASSED_BLOCK() |
| #define | EXIT_FAILURE 1 |
| #define | ruby_setjmp(env) RUBY_SETJMP(env) |
| #define | ruby_longjmp(env, val) RUBY_LONGJMP((env),(val)) |
| #define | SAVE_ROOT_JMPBUF_BEFORE_STMT |
| #define | SAVE_ROOT_JMPBUF_AFTER_STMT |
| #define | SAVE_ROOT_JMPBUF(th, stmt) |
| #define | TH_PUSH_TAG(th) |
| #define | TH_POP_TAG() |
| #define | TH_POP_TAG2() _th->tag = _tag.prev |
| #define | TH_PUSH_TAG2() (_th->tag = &_tag, 0) |
| #define | TH_TMPPOP_TAG() TH_POP_TAG2() |
| #define | TH_REPUSH_TAG() TH_PUSH_TAG2() |
| #define | PUSH_TAG() TH_PUSH_TAG(GET_THREAD()) |
| #define | POP_TAG() TH_POP_TAG() |
| #define | TH_EXEC_TAG() (ruby_setjmp(_tag.buf) ? rb_threadptr_tag_state(_th) : TH_PUSH_TAG2()) |
| #define | EXEC_TAG() TH_EXEC_TAG() |
| #define | TH_JUMP_TAG(th, st) rb_threadptr_tag_jump(th, st) |
| #define | JUMP_TAG(st) TH_JUMP_TAG(GET_THREAD(), (st)) |
| #define | INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc) |
| #define | TAG_RETURN RUBY_TAG_RETURN |
| #define | TAG_BREAK RUBY_TAG_BREAK |
| #define | TAG_NEXT RUBY_TAG_NEXT |
| #define | TAG_RETRY RUBY_TAG_RETRY |
| #define | TAG_REDO RUBY_TAG_REDO |
| #define | TAG_RAISE RUBY_TAG_RAISE |
| #define | TAG_THROW RUBY_TAG_THROW |
| #define | TAG_FATAL RUBY_TAG_FATAL |
| #define | TAG_MASK RUBY_TAG_MASK |
| #define | NEW_THROW_OBJECT(val, pt, st) ((VALUE)rb_node_newnode(NODE_LIT, (VALUE)(val), (VALUE)(pt), (VALUE)(st))) |
| #define | SET_THROWOBJ_CATCH_POINT(obj, val) (RNODE((obj))->u2.value = (val)) |
| #define | SET_THROWOBJ_STATE(obj, val) (RNODE((obj))->u3.value = (val)) |
| #define | GET_THROWOBJ_VAL(obj) ((VALUE)RNODE((obj))->u1.value) |
| #define | GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value) |
| #define | GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value) |
| #define | SCOPE_TEST(f) (rb_vm_cref()->nd_visi & (f)) |
| #define | SCOPE_CHECK(f) (rb_vm_cref()->nd_visi == (f)) |
| #define | SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f)) |
| #define | rb_thread_raised_set(th, f) ((th)->raised_flag |= (f)) |
| #define | rb_thread_raised_reset(th, f) ((th)->raised_flag &= ~(f)) |
| #define | rb_thread_raised_p(th, f) (((th)->raised_flag & (f)) != 0) |
| #define | rb_thread_raised_clear(th) ((th)->raised_flag = 0) |
| #define | CharNext(p) ((p) + 1) |
Enumerations | |
| enum | ruby_tag_type { RUBY_TAG_RETURN = 0x1, RUBY_TAG_BREAK = 0x2, RUBY_TAG_NEXT = 0x3, RUBY_TAG_RETRY = 0x4, RUBY_TAG_REDO = 0x5, RUBY_TAG_RAISE = 0x6, RUBY_TAG_THROW = 0x7, RUBY_TAG_FATAL = 0x8, RUBY_TAG_MASK = 0xf } |
| enum | { RAISED_EXCEPTION = 1, RAISED_STACKOVERFLOW = 2, RAISED_NOMEMORY = 4 } |
Functions | |
| char * | strrchr (const char *, const char) |
| static int | rb_threadptr_tag_state (rb_thread_t *th) |
| NORETURN (static inline void rb_threadptr_tag_jump(rb_thread_t *, int)) | |
| static void | rb_threadptr_tag_jump (rb_thread_t *th, int st) |
| void | rb_thread_cleanup (void) |
| void | rb_thread_wait_other_threads (void) |
| int | rb_threadptr_set_raised (rb_thread_t *th) |
| int | rb_threadptr_reset_raised (rb_thread_t *th) |
| VALUE | rb_f_eval (int argc, VALUE *argv, VALUE self) |
| VALUE | rb_make_exception (int argc, VALUE *argv) |
| NORETURN (void rb_method_name_error(VALUE, VALUE)) | |
| NORETURN (void rb_fiber_start(void)) | |
| NORETURN (void rb_print_undef(VALUE, ID, int)) | |
| NORETURN (void rb_vm_localjump_error(const char *, VALUE, int)) | |
| NORETURN (void rb_vm_jump_tag_but_local_jump(int)) | |
| NORETURN (void rb_raise_method_missing(rb_thread_t *th, int argc, VALUE *argv, VALUE obj, int call_status)) | |
| VALUE | rb_vm_make_jump_tag_but_local_jump (int state, VALUE val) |
| NODE * | rb_vm_cref (void) |
| VALUE | rb_vm_call_cfunc (VALUE recv, VALUE(*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename) |
| void | rb_vm_set_progname (VALUE filename) |
| void | rb_thread_terminate_all (void) |
| VALUE | rb_vm_top_self () |
| VALUE | rb_vm_cbase (void) |
| #define CharNext | ( | p | ) | ((p) + 1) |
Definition at line 254 of file eval_intern.h.
Referenced by cmdglob(), dln_find_1(), push_include(), and rb_w32_cmdvector().
| #define EXEC_TAG | ( | ) | TH_EXEC_TAG() |
Definition at line 168 of file eval_intern.h.
Referenced by exec_recursive(), rb_debug_inspector_open(), rb_ensure(), rb_eval_cmd(), rb_exec_end_proc(), rb_fiber_start(), rb_iseq_compile_with_option(), rb_load_internal0(), rb_load_protect(), rb_method_call_with_block(), rb_postponed_job_flush(), rb_require_safe(), rb_thread_io_blocking_region(), rb_thread_s_handle_interrupt(), ruby_cleanup(), ruby_exec_internal(), ruby_finalize_0(), ruby_options(), ruby_setup(), setup_exception(), signal_exec(), thread_start_func_2(), vm_exec(), and vm_invoke_proc().
| #define EXIT_FAILURE 1 |
Definition at line 24 of file eval_intern.h.
Referenced by error_handle(), exit_initialize(), exit_status_code(), garbage_collect_with_gvl(), goruby_run_node(), Init_BareVM(), init_libraries_if_necessary(), Messaging_HandleMessage(), mutex_debug(), negative_size_allocation_error(), nkf_buf_push(), nkf_xmalloc(), nkf_xrealloc(), no_connection2(), pruby_str_to_var(), rb_f_abort(), rb_f_exit_bang(), rb_memerror(), rb_thread_call_with_gvl(), rb_thread_create_timer_thread(), ruby_cleanup(), ruby_executable_node(), ruby_init(), and ruby_memerror().
| #define GET_THROWOBJ_CATCH_POINT | ( | obj | ) | ((VALUE*)RNODE((obj))->u2.value) |
Definition at line 206 of file eval_intern.h.
Referenced by rb_iterate(), vm_exec(), and vm_rewrite_ep_in_errinfo().
| #define GET_THROWOBJ_STATE | ( | obj | ) | ((int)RNODE((obj))->u3.value) |
Definition at line 207 of file eval_intern.h.
Referenced by thread_join(), and vm_throw().
| #define GET_THROWOBJ_VAL | ( | obj | ) | ((VALUE)RNODE((obj))->u1.value) |
Definition at line 205 of file eval_intern.h.
Referenced by rb_iterate(), thread_join(), and vm_exec().
| #define INTERNAL_EXCEPTION_P | ( | exc | ) | FIXNUM_P(exc) |
Definition at line 175 of file eval_intern.h.
Referenced by setup_exception().
| #define JUMP_TAG | ( | st | ) | TH_JUMP_TAG(GET_THREAD(), (st)) |
Definition at line 173 of file eval_intern.h.
Referenced by eval_string_with_cref(), exec_recursive(), rb_catch_obj(), rb_debug_inspector_open(), rb_ensure(), rb_eval_cmd(), rb_eval_string_wrap(), rb_iseq_compile_with_option(), rb_jump_tag(), rb_longjmp(), rb_memerror(), rb_method_call_with_block(), rb_raise_jump(), rb_require_safe(), rb_rescue2(), rb_suppress_tracing(), rb_thread_io_blocking_region(), rb_thread_s_handle_interrupt(), rb_throw_obj(), rb_vm_jump_tag_but_local_jump(), setup_exception(), signal_exec(), vm_exec(), and vm_invoke_proc().
| #define NEW_THROW_OBJECT | ( | val, | |||
| pt, | |||||
| st | ) | ((VALUE)rb_node_newnode(NODE_LIT, (VALUE)(val), (VALUE)(pt), (VALUE)(st))) |
Definition at line 198 of file eval_intern.h.
Referenced by rb_throw_obj(), vm_iter_break(), and vm_throw().
| #define PASS_PASSED_BLOCK | ( | ) |
do { \ rb_thread_t * const __th__ = GET_THREAD(); \ PASS_PASSED_BLOCK_TH(__th__); \ } while (0)
Definition at line 12 of file eval_intern.h.
Referenced by rb_call_super(), and rb_obj_call_init().
| #define PASS_PASSED_BLOCK_TH | ( | th | ) |
do { \ (th)->passed_block = rb_vm_control_frame_block_ptr(th->cfp); \ (th)->cfp->flag |= VM_FRAME_FLAG_PASSED; \ } while (0)
Definition at line 7 of file eval_intern.h.
Referenced by rb_funcall_passing_block(), and send_internal().
| #define POP_TAG | ( | ) | TH_POP_TAG() |
Definition at line 142 of file eval_intern.h.
Referenced by exec_recursive(), rb_ensure(), rb_eval_cmd(), rb_exec_end_proc(), rb_load_internal0(), rb_load_protect(), rb_method_call_with_block(), rb_require_safe(), ruby_cleanup(), ruby_exec_internal(), ruby_finalize_0(), ruby_options(), ruby_setup(), and setup_exception().
| #define PUSH_TAG | ( | ) | TH_PUSH_TAG(GET_THREAD()) |
Definition at line 141 of file eval_intern.h.
Referenced by exec_recursive(), rb_ensure(), rb_eval_cmd(), rb_exec_end_proc(), rb_load_internal0(), rb_load_protect(), rb_method_call_with_block(), rb_require_safe(), ruby_cleanup(), ruby_exec_internal(), ruby_finalize_0(), ruby_options(), ruby_setup(), and setup_exception().
| #define rb_thread_raised_clear | ( | th | ) | ((th)->raised_flag = 0) |
Definition at line 226 of file eval_intern.h.
Referenced by error_print(), rb_longjmp(), rb_memerror(), and rb_raise_jump().
| #define rb_thread_raised_p | ( | th, | |||
| f | ) | (((th)->raised_flag & (f)) != 0) |
Definition at line 225 of file eval_intern.h.
Referenced by rb_memerror(), ruby_stack_overflowed_p(), and stack_check().
| #define rb_thread_raised_reset | ( | th, | |||
| f | ) | ((th)->raised_flag &= ~(f)) |
Definition at line 224 of file eval_intern.h.
| #define rb_thread_raised_set | ( | th, | |||
| f | ) | ((th)->raised_flag |= (f)) |
Definition at line 223 of file eval_intern.h.
Referenced by error_print(), rb_memerror(), and stack_check().
| #define ruby_longjmp | ( | env, | |||
| val | ) | RUBY_LONGJMP((env),(val)) |
Definition at line 51 of file eval_intern.h.
Referenced by cont_restore_1(), and rb_threadptr_tag_jump().
| #define ruby_setjmp | ( | env | ) | RUBY_SETJMP(env) |
Definition at line 50 of file eval_intern.h.
Referenced by cont_capture(), and fiber_store().
| #define SAVE_ROOT_JMPBUF | ( | th, | |||
| stmt | ) |
do \ if (ruby_setjmp((th)->root_jmpbuf) == 0) { \ SAVE_ROOT_JMPBUF_BEFORE_STMT \ stmt; \ SAVE_ROOT_JMPBUF_AFTER_STMT \ } \ else { \ rb_fiber_start(); \ } while (0)
Definition at line 112 of file eval_intern.h.
Referenced by rb_protect(), ruby_cleanup(), ruby_exec_internal(), ruby_options(), and thread_start_func_2().
| #define SAVE_ROOT_JMPBUF_AFTER_STMT |
Definition at line 109 of file eval_intern.h.
| #define SAVE_ROOT_JMPBUF_BEFORE_STMT |
Definition at line 108 of file eval_intern.h.
| #define SCOPE_CHECK | ( | f | ) | (rb_vm_cref()->nd_visi == (f)) |
Definition at line 210 of file eval_intern.h.
Referenced by rb_attr().
| #define SCOPE_SET | ( | f | ) | (rb_vm_cref()->nd_visi = (f)) |
Definition at line 211 of file eval_intern.h.
Referenced by load_ext(), rb_mod_modfunc(), and set_visibility().
| #define SCOPE_TEST | ( | f | ) | (rb_vm_cref()->nd_visi & (f)) |
Definition at line 209 of file eval_intern.h.
Referenced by rb_attr().
| #define SET_THROWOBJ_CATCH_POINT | ( | obj, | |||
| val | ) | (RNODE((obj))->u2.value = (val)) |
Definition at line 200 of file eval_intern.h.
Referenced by vm_exec(), and vm_rewrite_ep_in_errinfo().
| #define SET_THROWOBJ_STATE | ( | obj, | |||
| val | ) | (RNODE((obj))->u3.value = (val)) |
Definition at line 202 of file eval_intern.h.
Referenced by vm_exec().
| #define TAG_BREAK RUBY_TAG_BREAK |
Definition at line 189 of file eval_intern.h.
Referenced by error_handle(), make_localjump_error(), rb_iterate(), rb_vm_make_jump_tag_but_local_jump(), tcl_protect_core(), vm_exec(), vm_iter_break(), and vm_throw().
| #define TAG_FATAL RUBY_TAG_FATAL |
Definition at line 195 of file eval_intern.h.
Referenced by error_handle(), ip_eval_real(), ip_invoke_core(), lib_eventloop_core(), lib_eventloop_main(), rb_exc_fatal(), rb_fiber_start(), rb_threadptr_execute_interrupts(), rb_threadptr_to_kill(), setup_exception(), tcl_protect_core(), and thread_start_func_2().
| #define TAG_MASK RUBY_TAG_MASK |
Definition at line 196 of file eval_intern.h.
Referenced by error_handle().
| #define TAG_NEXT RUBY_TAG_NEXT |
Definition at line 190 of file eval_intern.h.
Referenced by error_handle(), make_localjump_error(), rb_vm_make_jump_tag_but_local_jump(), tcl_protect_core(), and vm_exec().
| #define TAG_RAISE RUBY_TAG_RAISE |
Definition at line 193 of file eval_intern.h.
Referenced by error_handle(), eval_string_with_cref(), ip_eval_real(), ip_invoke_core(), lib_eventloop_core(), lib_eventloop_main(), rb_exc_raise(), rb_fiber_start(), rb_memerror(), rb_raise_jump(), rb_rescue2(), ruby_thread_stack_overflow(), tcl_protect_core(), vm_exec(), and vm_throw().
| #define TAG_REDO RUBY_TAG_REDO |
Definition at line 192 of file eval_intern.h.
Referenced by error_handle(), make_localjump_error(), pending_exception_check0(), pending_exception_check1(), rb_vm_make_jump_tag_but_local_jump(), tcl_protect_core(), and vm_exec().
| #define TAG_RETRY RUBY_TAG_RETRY |
Definition at line 191 of file eval_intern.h.
Referenced by error_handle(), make_localjump_error(), pending_exception_check0(), pending_exception_check1(), rb_iterate(), rb_rescue2(), rb_vm_make_jump_tag_but_local_jump(), tcl_protect_core(), vm_exec(), and vm_throw().
| #define TAG_RETURN RUBY_TAG_RETURN |
Definition at line 188 of file eval_intern.h.
Referenced by error_handle(), make_localjump_error(), rb_vm_make_jump_tag_but_local_jump(), tcl_protect_core(), vm_exec(), and vm_throw().
| #define TAG_THROW RUBY_TAG_THROW |
Definition at line 194 of file eval_intern.h.
Referenced by error_handle(), pending_exception_check0(), pending_exception_check1(), rb_catch_protect(), rb_throw_obj(), tcl_protect_core(), and vm_throw().
| #define TH_EXEC_TAG | ( | ) | (ruby_setjmp(_tag.buf) ? rb_threadptr_tag_state(_th) : TH_PUSH_TAG2()) |
Definition at line 165 of file eval_intern.h.
Referenced by error_print(), eval_string_with_cref(), exec_hooks_protected(), rb_catch_protect(), rb_iterate(), rb_protect(), rb_rescue2(), rb_suppress_tracing(), and rb_thread_terminate_all().
| #define TH_JUMP_TAG | ( | th, | |||
| st | ) | rb_threadptr_tag_jump(th, st) |
Definition at line 171 of file eval_intern.h.
Referenced by rb_iterate(), rb_threadptr_exec_event_hooks_orig(), rb_threadptr_to_kill(), ruby_thread_stack_overflow(), and vm_iter_break().
| #define TH_POP_TAG | ( | ) |
_th->tag = _tag.prev; \
} while (0)
Definition at line 128 of file eval_intern.h.
Referenced by error_print(), eval_string_with_cref(), exec_hooks_protected(), rb_catch_protect(), rb_debug_inspector_open(), rb_fiber_start(), rb_iseq_compile_with_option(), rb_iterate(), rb_postponed_job_flush(), rb_protect(), rb_rescue2(), rb_suppress_tracing(), rb_thread_io_blocking_region(), rb_thread_s_handle_interrupt(), rb_thread_terminate_all(), signal_exec(), thread_start_func_2(), vm_exec(), and vm_invoke_proc().
| #define TH_POP_TAG2 | ( | ) | _th->tag = _tag.prev |
Definition at line 132 of file eval_intern.h.
Referenced by vm_exec().
| #define TH_PUSH_TAG | ( | th | ) |
do { \ rb_thread_t * const _th = (th); \ struct rb_vm_tag _tag; \ _tag.tag = 0; \ _tag.prev = _th->tag;
Definition at line 122 of file eval_intern.h.
Referenced by error_print(), eval_string_with_cref(), exec_hooks_protected(), rb_catch_protect(), rb_debug_inspector_open(), rb_fiber_start(), rb_iseq_compile_with_option(), rb_iterate(), rb_postponed_job_flush(), rb_protect(), rb_rescue2(), rb_suppress_tracing(), rb_thread_io_blocking_region(), rb_thread_s_handle_interrupt(), rb_thread_terminate_all(), signal_exec(), thread_start_func_2(), vm_exec(), and vm_invoke_proc().
| #define TH_PUSH_TAG2 | ( | ) | (_th->tag = &_tag, 0) |
Definition at line 135 of file eval_intern.h.
| #define TH_REPUSH_TAG | ( | ) | TH_PUSH_TAG2() |
Definition at line 139 of file eval_intern.h.
Referenced by rb_exec_end_proc().
| #define TH_TMPPOP_TAG | ( | ) | TH_POP_TAG2() |
Definition at line 137 of file eval_intern.h.
Referenced by rb_exec_end_proc().
| anonymous enum |
Definition at line 216 of file eval_intern.h.
| enum ruby_tag_type |
| RUBY_TAG_RETURN | |
| RUBY_TAG_BREAK | |
| RUBY_TAG_NEXT | |
| RUBY_TAG_RETRY | |
| RUBY_TAG_REDO | |
| RUBY_TAG_RAISE | |
| RUBY_TAG_THROW | |
| RUBY_TAG_FATAL | |
| RUBY_TAG_MASK |
Definition at line 177 of file eval_intern.h.
| NORETURN | ( | void | rb_raise_method_missingrb_thread_t *th, int argc, VALUE *argv, VALUE obj, int call_status | ) |
| NORETURN | ( | void | rb_vm_jump_tag_but_local_jumpint | ) |
| NORETURN | ( | void | rb_vm_localjump_errorconst char *, VALUE, int | ) |
| NORETURN | ( | void | rb_print_undefVALUE, ID, int | ) |
| NORETURN | ( | void | rb_fiber_startvoid | ) |
| NORETURN | ( | void | rb_method_name_errorVALUE, VALUE | ) |
| NORETURN | ( | static inline void | rb_threadptr_tag_jumprb_thread_t *, int | ) |
| VALUE rb_f_eval | ( | int | argc, | |
| VALUE * | argv, | |||
| VALUE | self | |||
| ) |
Definition at line 1349 of file vm_eval.c.
References eval_string(), NIL_P, NUM2INT, Qundef, rb_scan_args(), SafeStringValue, and StringValue.
Referenced by bind_eval(), and Init_vm_eval().
| VALUE rb_make_exception | ( | int | argc, | |
| VALUE * | argv | |||
| ) |
Definition at line 682 of file eval.c.
References make_exception(), and TRUE.
Referenced by parser_set_encode(), rb_f_raise(), and rb_threadptr_raise().
| void rb_thread_cleanup | ( | void | ) |
| void rb_thread_terminate_all | ( | void | ) |
Definition at line 421 of file thread.c.
References GET_THREAD(), rb_vm_struct::living_threads, rb_vm_struct::main_thread, native_sleep(), rb_bug(), rb_thread_alone(), rb_threadptr_unlock_all_locking_mutexes(), RUBY_VM_CHECK_INTS_BLOCKING, st_foreach(), terminate_i(), rb_mutex_struct::th, TH_EXEC_TAG, TH_POP_TAG, TH_PUSH_TAG, thread_debug, and rb_thread_struct::vm.
Referenced by ruby_cleanup().
| void rb_thread_wait_other_threads | ( | void | ) |
| int rb_threadptr_reset_raised | ( | rb_thread_t * | th | ) |
Definition at line 2110 of file thread.c.
References RAISED_EXCEPTION, and rb_thread_struct::raised_flag.
Referenced by error_handle(), exec_hooks_protected(), rb_suppress_tracing(), and setup_exception().
| int rb_threadptr_set_raised | ( | rb_thread_t * | th | ) |
Definition at line 2100 of file thread.c.
References RAISED_EXCEPTION, and rb_thread_struct::raised_flag.
Referenced by error_handle(), exec_hooks_protected(), rb_suppress_tracing(), and setup_exception().
| static void rb_threadptr_tag_jump | ( | rb_thread_t * | th, | |
| int | st | |||
| ) | [inline, static] |
Definition at line 155 of file eval_intern.h.
References rb_vm_tag::buf, ruby_longjmp, rb_thread_struct::state, and rb_thread_struct::tag.
| static int rb_threadptr_tag_state | ( | rb_thread_t * | th | ) | [inline, static] |
Definition at line 146 of file eval_intern.h.
References rb_thread_struct::state.
| VALUE rb_vm_call_cfunc | ( | VALUE | recv, | |
| VALUE(*)(VALUE) | func, | |||
| VALUE | arg, | |||
| const rb_block_t * | blockptr, | |||
| VALUE | filename | |||
| ) |
Definition at line 1736 of file vm.c.
References rb_thread_struct::cfp, CLASS_OF, DATA_PTR, GET_THREAD(), Qnil, rb_iseq_new(), rb_control_frame_struct::sp, val, VM_ENVVAL_BLOCK_PTR, VM_FRAME_FLAG_FINISH, VM_FRAME_MAGIC_TOP, vm_pop_frame(), and vm_push_frame().
Referenced by rb_require_safe().
| VALUE rb_vm_cbase | ( | void | ) |
Definition at line 1048 of file vm.c.
References rb_thread_struct::cfp, rb_control_frame_struct::ep, GET_THREAD(), rb_control_frame_struct::iseq, rb_eRuntimeError, rb_raise(), rb_vm_get_ruby_level_next_cfp(), and vm_get_cbase().
Referenced by rb_f_autoload(), and rb_f_autoload_p().
| NODE* rb_vm_cref | ( | void | ) |
Definition at line 1015 of file vm.c.
References rb_thread_struct::cfp, rb_control_frame_struct::ep, GET_THREAD(), rb_control_frame_struct::iseq, NULL, rb_vm_get_cref(), and rb_vm_get_ruby_level_next_cfp().
Referenced by m_core_define_method(), m_core_define_singleton_method(), mod_using(), rb_method_entry_with_refinements(), rb_mod_nesting(), rb_mod_s_constants(), and top_using().
| VALUE rb_vm_make_jump_tag_but_local_jump | ( | int | state, | |
| VALUE | val | |||
| ) |
Definition at line 1101 of file vm.c.
References GET_THREAD(), make_localjump_error(), Qnil, Qundef, result, rb_vm_tag::retval, rb_thread_struct::tag, TAG_BREAK, TAG_NEXT, TAG_REDO, TAG_RETRY, and TAG_RETURN.
Referenced by rb_fiber_start(), rb_vm_jump_tag_but_local_jump(), and thread_join().
| void rb_vm_set_progname | ( | VALUE | filename | ) |
Definition at line 2787 of file vm.c.
References GET_VM, rb_control_frame_struct::iseq, rb_iseq_struct::location, rb_iseq_location_struct::path, RB_OBJ_WRITE, rb_iseq_struct::self, rb_thread_struct::stack, and rb_thread_struct::stack_size.
Referenced by ruby_script(), and ruby_set_script_name().
| VALUE rb_vm_top_self | ( | ) |
Definition at line 2834 of file vm.c.
References GET_VM.
Referenced by eval_string_from_file_helper(), Init_eval(), Init_eval_method(), Init_Proc(), Init_top_self(), Init_VM(), rb_eval_cmd(), rb_eval_string_wrap(), rb_load_internal0(), rb_require_safe(), require_libraries(), ruby_eval_string_from_file(), and ruby_thread_init().
| char* strrchr | ( | const char * | , | |
| const | char | |||
| ) |
Referenced by load_file_internal(), parse_mode_enc(), proc_exec_cmd(), rb_feature_provided(), ruby_init_loadpath_safe(), and search_required().
1.6.1