Ruby 2.0.0p353(2013-11-22revision43784)

- Main Page
- Modules
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Data Fields

Data Fields
rb_thread_struct Struct Reference

`#include <vm_core.h>`

## Data Fields
VALUE | self
rb_vm_t * | vm
VALUE * | stack
size_t | stack_size
rb_control_frame_t * | cfp
int | safe_level
int | raised_flag
VALUE | last_status
int | state
int | waiting_fd
const rb_block_t * | passed_block
const rb_method_entry_t * | passed_me
rb_call_info_t * | passed_ci
VALUE | top_self
VALUE | top_wrapper
rb_block_t * | base_block
VALUE * | root_lep
VALUE | root_svar
rb_thread_id_t | thread_id
enum rb_thread_status | status
int | to_kill
int | priority
native_thread_data_t | native_thread_data
void * | blocking_region_buffer
VALUE | thgroup
VALUE | value
VALUE | errinfo
VALUE | pending_interrupt_queue
int | pending_interrupt_queue_checked
VALUE | pending_interrupt_mask_stack
rb_atomic_t | interrupt_flag
unsigned long | interrupt_mask
rb_thread_lock_t | interrupt_lock
struct rb_unblock_callback | unblock
VALUE | locking_mutex
struct rb_mutex_struct * | keeping_mutexes
struct rb_vm_tag * | tag
struct rb_vm_protect_tag * | protect_tag
int | parse_in_eval
| Thread-local state of evaluation context. More...
int | mild_compile_error
| Thread-local state of compiling context. More...
st_table * | local_storage
rb_thread_list_t * | join_list
VALUE | first_proc
VALUE | first_args
VALUE(* | first_func )(ANYARGS)
VALUE * | machine_stack_start
VALUE * | machine_stack_end
size_t | machine_stack_maxsize
jmp_buf | machine_regs
int | mark_stack_len
VALUE | stat_insn_usage
rb_hook_list_t | event_hooks
struct rb_trace_arg_struct * | trace_arg
VALUE | fiber
VALUE | root_fiber
rb_jmpbuf_t | root_jmpbuf
int | method_missing_reason
int | abort_on_exception
unsigned long | running_time_us

## Detailed Description

Definition at line 493 of file vm_core.h.

## Field Documentation

int rb_thread_struct::abort_on_exception

Definition at line 613 of file vm_core.h.

Referenced by rb_thread_abort_exc(), rb_thread_abort_exc_set(), and thread_start_func_2().

rb_block_t* rb_thread_struct::base_block

Definition at line 524 of file vm_core.h.

Referenced by compile_err_append(), rb_dvar_defined(), rb_iseq_compile_with_option(), rb_iseq_new_main(), rb_local_defined(), and ruby_exec_internal().

void* rb_thread_struct::blocking_region_buffer

Definition at line 536 of file vm_core.h.

Referenced by blocking_region_begin(), blocking_region_end(), rb_thread_call_with_gvl(), and ruby_thread_has_gvl_p().

rb_control_frame_t* rb_thread_struct::cfp

Definition at line 500 of file vm_core.h.

Referenced by backtrace_each(), check_block(), check_funcall_callable(), cont_capture(), cont_restore_thread(), errinfo_place(), eval_string_with_cref(), fiber_init(), Init_VM(), invoke_block_from_c(), m_core_set_postexe(), previous_frame(), proc_new(), raise_method_missing(), rb_add_method(), rb_binding_new(), rb_block_given_p(), rb_call(), rb_catch_obj(), rb_current_realfilepath(), rb_debug_inspector_open(), rb_f_block_given_p(), rb_f_local_variables(), rb_frame_pop(), rb_iterate(), rb_mod_refine(), rb_protect(), rb_raise_jump(), rb_rescue2(), rb_sourcefile(), rb_sourcefilename(), rb_sourceline(), rb_thread_current_status(), rb_thread_mark(), rb_thread_method_id_and_class(), rb_threadptr_exec_event_hooks_orig(), rb_threadptr_execute_interrupts(), rb_vm_call_cfunc(), rb_vm_cbase(), rb_vm_cref(), rb_vm_stack_to_heap(), rb_vmdebug_debug_print_post(), rb_vmdebug_debug_print_register(), rb_vmdebug_stack_dump_raw_current(), rb_vmdebug_stack_dump_th(), rb_vmdebug_thread_dump_state(), rb_yield_refine_block(), send_internal(), setup_exception(), th_init(), update_coverage(), vm_call0_body(), vm_call0_cfunc_with_frame(), vm_call_cfunc_with_frame(), vm_call_iseq_setup_tailcall(), vm_call_super(), vm_cref_push(), vm_exec(), vm_exec_core(), vm_get_ev_const(), vm_iter_break(), vm_pop_frame(), vm_push_frame(), vm_rewrite_ep_in_errinfo(), vm_set_eval_stack(), vm_set_main_stack(), vm_set_top_stack(), vm_svar_get(), vm_svar_set(), vm_yield_setup_block_args(), vm_yield_with_cfunc(), and yield_under().

VALUE rb_thread_struct::errinfo

Definition at line 542 of file vm_core.h.

Referenced by compile_err_append(), cont_restore_thread(), error_handle(), error_print(), eval_string_with_cref(), get_thread_errinfo(), rb_catch_obj(), rb_ensure(), rb_errinfo(), rb_exec_end_proc(), rb_fiber_start(), rb_iterate(), rb_load_internal(), rb_memerror(), rb_require_safe(), rb_rescue2(), rb_set_errinfo(), rb_thread_mark(), rb_thread_status(), rb_threadptr_exec_event_hooks_orig(), rb_threadptr_to_kill(), rb_throw_obj(), ruby_cleanup(), ruby_finalize_1(), ruby_thread_stack_overflow(), setup_exception(), th_init(), thread_join(), thread_start_func_2(), vm_exec(), and vm_iter_break().

rb_hook_list_t rb_thread_struct::event_hooks

Definition at line 603 of file vm_core.h.

Referenced by rb_thread_mark(), rb_threadptr_add_event_hook(), rb_threadptr_exec_event_hooks_orig(), and rb_threadptr_remove_event_hook().

VALUE rb_thread_struct::fiber

Definition at line 607 of file vm_core.h.

Referenced by cont_mark(), cont_restore_thread(), fiber_store(), fiber_switch(), rb_cont_call(), rb_fiber_current(), rb_fiber_reset_root_local_storage(), rb_fiber_start(), and rb_thread_mark().

VALUE rb_thread_struct::first_args

Definition at line 584 of file vm_core.h.

Referenced by rb_thread_mark(), thread_create_core(), thread_initialize(), thread_s_new(), and thread_start_func_2().

VALUE(* rb_thread_struct::first_func)(ANYARGS)

Definition at line 585 of file vm_core.h.

Referenced by thread_create_core(), and thread_start_func_2().

VALUE rb_thread_struct::first_proc

Definition at line 583 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_init(), rb_fiber_start(), rb_thread_mark(), thread_create_core(), thread_initialize(), and thread_start_func_2().

rb_atomic_t rb_thread_struct::interrupt_flag

Definition at line 554 of file vm_core.h.

Referenced by rb_threadptr_execute_interrupts().

rb_thread_lock_t rb_thread_struct::interrupt_lock

Definition at line 556 of file vm_core.h.

Referenced by Init_Thread(), rb_threadptr_interrupt_common(), reset_unblock_function(), set_unblock_function(), thread_cleanup_func(), and thread_create_core().

unsigned long rb_thread_struct::interrupt_mask

Definition at line 555 of file vm_core.h.

Referenced by Init_Thread(), rb_mutex_lock(), rb_threadptr_execute_interrupts(), signal_exec(), and thread_create_core().

rb_thread_list_t* rb_thread_struct::join_list

Definition at line 581 of file vm_core.h.

Referenced by rb_thread_atfork(), remove_from_join_list(), thread_join(), and thread_start_func_2().

struct rb_mutex_struct* rb_thread_struct::keeping_mutexes

Definition at line 559 of file vm_core.h.

Referenced by mutex_locked(), rb_mutex_unlock_th(), rb_threadptr_unlock_all_locking_mutexes(), terminate_atfork_i(), and thread_free().

VALUE rb_thread_struct::last_status

Definition at line 503 of file vm_core.h.

Referenced by rb_last_status_clear(), rb_last_status_get(), rb_last_status_set(), rb_thread_mark(), and th_init().

st_table* rb_thread_struct::local_storage

Definition at line 579 of file vm_core.h.

Referenced by cont_init(), cont_restore_thread(), fiber_free(), fiber_init(), fiber_memsize(), rb_fiber_reset_root_local_storage(), rb_thread_key_p(), rb_thread_keys(), rb_thread_local_aref(), rb_thread_local_aset(), rb_thread_mark(), thread_free(), and thread_memsize().

VALUE rb_thread_struct::locking_mutex

Definition at line 558 of file vm_core.h.

Referenced by check_deadlock_i(), rb_mutex_lock(), rb_thread_mark(), thread_cleanup_func(), thread_free(), and thread_start_func_2().

jmp_buf rb_thread_struct::machine_regs

Definition at line 596 of file vm_core.h.

Referenced by rb_thread_mark().

VALUE* rb_thread_struct::machine_stack_end

Definition at line 589 of file vm_core.h.

Referenced by cont_save_machine_stack(), cont_save_thread(), Init_Cont(), rb_thread_mark(), and thread_cleanup_func_before_exec().

size_t rb_thread_struct::machine_stack_maxsize

Definition at line 590 of file vm_core.h.

VALUE* rb_thread_struct::machine_stack_start

Definition at line 588 of file vm_core.h.

Referenced by cont_save_machine_stack(), cont_save_thread(), rb_thread_mark(), thread_cleanup_func_before_exec(), and thread_start_func_2().

int rb_thread_struct::mark_stack_len

Definition at line 597 of file vm_core.h.

Referenced by cont_capture(), rb_thread_mark(), vm_callee_setup_arg_complex(), and vm_yield_setup_block_args().

int rb_thread_struct::method_missing_reason

Definition at line 612 of file vm_core.h.

Referenced by check_funcall_missing(), method_missing(), rb_method_missing(), and vm_call_method_missing().

int rb_thread_struct::mild_compile_error

Thread-local state of compiling context.

If non-zero, the parser does not automatically print error messages to stderr.

Definition at line 576 of file vm_core.h.

Referenced by compile_err_append(), eval_string_with_cref(), and rb_load_internal().

native_thread_data_t rb_thread_struct::native_thread_data

Definition at line 535 of file vm_core.h.

int rb_thread_struct::parse_in_eval

Thread-local state of evaluation context.

If negative, this thread is evaluating the main program. If positive, this thread is evaluating a program under Kernel::eval family.

Definition at line 570 of file vm_core.h.

Referenced by eval_string_with_cref(), prepare_iseq_build(), rb_parse_in_eval(), rb_parse_in_main(), and require_libraries().

const rb_block_t* rb_thread_struct::passed_block

Definition at line 511 of file vm_core.h.

Referenced by check_funcall_respond_to(), method_missing(), rb_funcall_with_block(), rb_iterate(), rb_method_call_with_block(), rb_raise_method_missing(), and vm_call0_body().

rb_call_info_t* rb_thread_struct::passed_ci

Definition at line 517 of file vm_core.h.

Referenced by GET_THREAD().

const rb_method_entry_t* rb_thread_struct::passed_me

Definition at line 514 of file vm_core.h.

Referenced by invoke_block_from_c(), and vm_call_bmethod_body().

VALUE rb_thread_struct::pending_interrupt_mask_stack

Definition at line 552 of file vm_core.h.

Referenced by Init_Thread(), rb_thread_mark(), rb_thread_s_handle_interrupt(), rb_threadptr_pending_interrupt_check_mask(), rb_uninterruptible(), and thread_create_core().

VALUE rb_thread_struct::pending_interrupt_queue

Definition at line 550 of file vm_core.h.

Referenced by Init_Thread(), rb_thread_mark(), rb_threadptr_pending_interrupt_clear(), rb_threadptr_pending_interrupt_deque(), rb_threadptr_pending_interrupt_empty_p(), rb_threadptr_pending_interrupt_enque(), rb_threadptr_pending_interrupt_include_p(), and thread_create_core().

int rb_thread_struct::pending_interrupt_queue_checked

Definition at line 551 of file vm_core.h.

Referenced by Init_Thread(), rb_thread_s_handle_interrupt(), rb_threadptr_pending_interrupt_active_p(), rb_threadptr_pending_interrupt_deque(), rb_threadptr_pending_interrupt_enque(), and thread_create_core().

int rb_thread_struct::priority

Definition at line 533 of file vm_core.h.

Referenced by rb_thread_priority(), rb_thread_priority_set(), rb_threadptr_execute_interrupts(), and thread_create_core().

struct rb_vm_protect_tag* rb_thread_struct::protect_tag

Definition at line 562 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_switch(), rb_cont_call(), and rb_protect().

int rb_thread_struct::raised_flag

Definition at line 502 of file vm_core.h.

Referenced by cont_restore_thread(), error_print(), rb_threadptr_execute_interrupts(), rb_threadptr_reset_raised(), rb_threadptr_set_raised(), and ruby_thread_stack_overflow().

VALUE rb_thread_struct::root_fiber

Definition at line 608 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_store(), fiber_switch(), rb_fiber_current(), rb_fiber_reset_root_local_storage(), rb_thread_mark(), return_fiber(), thread_free(), thread_memsize(), and thread_start_func_2().

rb_jmpbuf_t rb_thread_struct::root_jmpbuf

Definition at line 609 of file vm_core.h.

Referenced by fiber_init().

VALUE* rb_thread_struct::root_lep

Definition at line 526 of file vm_core.h.

Referenced by cont_restore_thread(), lep_svar_place(), rb_fiber_start(), and thread_start_func_2().

VALUE rb_thread_struct::root_svar

Definition at line 527 of file vm_core.h.

Referenced by cont_restore_thread(), lep_svar_place(), rb_fiber_start(), rb_thread_mark(), ruby_thread_init(), th_init(), and thread_start_func_2().

unsigned long rb_thread_struct::running_time_us

Definition at line 617 of file vm_core.h.

Referenced by rb_thread_schedule_limits(), and rb_threadptr_execute_interrupts().

int rb_thread_struct::safe_level

Definition at line 501 of file vm_core.h.

Referenced by cont_restore_thread(), rb_method_call_status(), rb_safe_level(), rb_set_safe_level(), rb_set_safe_level_force(), rb_thread_kill(), rb_thread_safe_level(), rb_vm_make_proc(), ruby_cleanup(), safe_setter(), thread_start_func_2(), vm_call_method(), and vm_invoke_proc().

VALUE rb_thread_struct::self

Definition at line 494 of file vm_core.h.

Referenced by cont_mark(), fiber_switch(), Init_VM(), rb_cont_call(), rb_thread_atfork_internal(), rb_thread_current(), rb_thread_exit(), rb_thread_main(), rb_tracepoint_disable(), rb_tracepoint_enable(), ruby_vm_destruct(), th_init(), thread_join(), thread_list_i(), thread_start_func_2(), and tp_mark().

VALUE* rb_thread_struct::stack

Definition at line 498 of file vm_core.h.

Referenced by cont_capture(), cont_free(), cont_restore_thread(), control_frame_dump(), fiber_init(), method_entry_of_iseq(), previous_frame(), rb_thread_mark(), rb_vm_make_proc(), rb_vm_set_progname(), rb_vmdebug_debug_print_register(), rb_vmdebug_stack_dump_raw(), th_init(), thread_free(), thread_start_func_2(), and vm_make_env_each().

size_t rb_thread_struct::stack_size

Definition at line 499 of file vm_core.h.

Referenced by cont_capture(), cont_mark(), cont_memsize(), cont_restore_thread(), control_frame_dump(), fiber_init(), method_entry_of_iseq(), previous_frame(), rb_thread_mark(), rb_vm_make_proc(), rb_vm_set_progname(), rb_vmdebug_debug_print_register(), rb_vmdebug_stack_dump_raw(), th_init(), thread_memsize(), and vm_throw().

VALUE rb_thread_struct::stat_insn_usage

Definition at line 600 of file vm_core.h.

Referenced by rb_thread_mark().

int rb_thread_struct::state

Definition at line 506 of file vm_core.h.

Referenced by cont_restore_thread(), rb_iterate(), rb_suppress_tracing(), rb_threadptr_exec_event_hooks_orig(), vm_exec(), vm_iter_break(), and vm_throw().

enum rb_thread_status rb_thread_struct::status

Definition at line 531 of file vm_core.h.

Referenced by blocking_region_begin(), blocking_region_end(), check_deadlock_i(), cont_restore_thread(), rb_mutex_lock(), rb_thread_kill(), rb_thread_stop_p(), rb_thread_wakeup_alive(), rb_threadptr_dead(), rb_threadptr_execute_interrupts(), rb_threadptr_to_kill(), remove_from_join_list(), ruby_cleanup(), sleep_forever(), sleep_timeval(), th_init(), thread_backtrace_to_ary(), thread_cleanup_func_before_exec(), thread_create_core(), thread_join(), thread_join_sleep(), thread_list_i(), thread_start_func_2(), and thread_status_name().

struct rb_vm_tag* rb_thread_struct::tag

Definition at line 561 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_init(), rb_catch_obj(), rb_threadptr_exec_event_hooks_orig(), rb_throw_obj(), and rb_vm_make_jump_tag_but_local_jump().

VALUE rb_thread_struct::thgroup

Definition at line 538 of file vm_core.h.

Referenced by Init_Thread(), rb_thread_group(), rb_thread_mark(), thgroup_add(), thgroup_list_i(), and thread_create_core().

rb_thread_id_t rb_thread_struct::thread_id

Definition at line 530 of file vm_core.h.

Referenced by Init_VM(), rb_thread_kill(), thread_create_core(), thread_join(), and thread_join_sleep().

int rb_thread_struct::to_kill

Definition at line 532 of file vm_core.h.

Referenced by rb_thread_kill(), rb_threadptr_to_kill(), thread_backtrace_to_ary(), and thread_status_name().

VALUE rb_thread_struct::top_self

Definition at line 520 of file vm_core.h.

Referenced by Init_VM(), rb_eval_string_wrap(), rb_load_internal(), rb_thread_mark(), ruby_thread_init(), and vm_set_top_stack().

VALUE rb_thread_struct::top_wrapper

Definition at line 521 of file vm_core.h.

Referenced by Init_VM(), rb_eval_string_wrap(), rb_load_internal(), rb_set_end_proc(), rb_thread_mark(), ruby_thread_init(), set_relation(), top_define_method(), and top_include().

struct rb_trace_arg_struct* rb_thread_struct::trace_arg

Definition at line 604 of file vm_core.h.

Referenced by fiber_switch(), get_trace_arg(), rb_cont_call(), rb_suppress_tracing(), rb_threadptr_exec_event_hooks_orig(), and tracepoint_inspect().

struct rb_unblock_callback rb_thread_struct::unblock

Definition at line 557 of file vm_core.h.

Referenced by rb_thread_call_with_gvl(), rb_threadptr_interrupt_common(), reset_unblock_function(), and set_unblock_function().

VALUE rb_thread_struct::value

Definition at line 539 of file vm_core.h.

Referenced by rb_thread_mark(), thread_start_func_2(), and thread_value().

rb_vm_t* rb_thread_struct::vm

Definition at line 495 of file vm_core.h.

Referenced by blocking_region_begin(), blocking_region_end(), fiber_init(), gc_marks(), Init_BareVM(), Init_Thread(), Init_VM(), location_to_str(), oldbt_init(), rb_gc_register_mark_object(), rb_mutex_lock(), rb_suppress_tracing(), rb_thread_atfork_internal(), rb_thread_kill(), rb_thread_main(), rb_thread_s_abort_exc(), rb_thread_s_abort_exc_set(), rb_thread_schedule_limits(), rb_thread_terminate_all(), rb_threadptr_exec_event_hooks_orig(), rb_threadptr_execute_interrupts(), rb_threadptr_signal_exit(), rb_threadptr_signal_raise(), ruby_thread_init(), sleep_forever(), th_init(), thread_create_core(), thread_fd_close_i(), thread_free(), and thread_start_func_2().

int rb_thread_struct::waiting_fd

Definition at line 508 of file vm_core.h.

Referenced by call_without_gvl(), rb_thread_io_blocking_region(), th_init(), and thread_fd_close_i().

The documentation for this struct was generated from the following file:

- vm_core.h