eval_intern.h File Reference

#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_SUCCESS   0
#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)
NODErb_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 Documentation

#define CharNext (  )     ((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(), 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(), ruby_cleanup(), ruby_executable_node(), ruby_init(), and ruby_memerror().

#define EXIT_SUCCESS   0

Definition at line 21 of file eval_intern.h.

#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().

#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(), 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(), and vm_iter_break().

 
#define PASS_PASSED_BLOCK (  ) 

Value:

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   ) 

Value:

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,
 )     (((th)->raised_flag & (f)) != 0)

Definition at line 225 of file eval_intern.h.

Referenced by rb_memerror(), and stack_check().

#define rb_thread_raised_reset ( th,
 )     ((th)->raised_flag &= ~(f))

Definition at line 224 of file eval_intern.h.

#define rb_thread_raised_set ( th,
 )     ((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   ) 

Value:

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 (  )     (rb_vm_cref()->nd_visi == (f))

Definition at line 210 of file eval_intern.h.

Referenced by rb_attr().

#define SCOPE_SET (  )     (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 (  )     (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(), and tcl_protect_core().

#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(), and tcl_protect_core().

#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(), and tcl_protect_core().

#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(), 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(), and tcl_protect_core().

 
#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 (  ) 

Value:

_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(), and vm_invoke_proc().

 
#define TH_POP_TAG2 (  )     _th->tag = _tag.prev

Definition at line 132 of file eval_intern.h.

#define TH_PUSH_TAG ( th   ) 

Value:

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().


Enumeration Type Documentation

anonymous enum

Enumerator:
RAISED_EXCEPTION 
RAISED_STACKOVERFLOW 
RAISED_NOMEMORY 

Definition at line 216 of file eval_intern.h.

enum ruby_tag_type

Enumerator:
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.


Function Documentation

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

NORETURN ( void   rb_vm_jump_tag_but_local_jump(int)  ) 

NORETURN ( void   rb_vm_localjump_error(const char *, VALUE, int)  ) 

NORETURN ( void   rb_print_undef(VALUE, ID, int)  ) 

NORETURN ( void   rb_fiber_start(void)  ) 

NORETURN ( void   rb_method_name_error(VALUE, VALUE)  ) 

NORETURN ( static inline void   rb_threadptr_tag_jump(rb_thread_t *, int)  ) 

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

Definition at line 1342 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.

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, rb_bug(), rb_thread_alone(), rb_threadptr_unlock_all_locking_mutexes(), RUBY_VM_CHECK_INTS_BLOCKING, st_data_t, 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 2106 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 2096 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 1732 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, TAG_RETURN, and VALUE.

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 2779 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 2826 of file vm.c.

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().


Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7