#include <process.hpp>
Inheritance diagram for DeltaProcess:
Definition at line 157 of file process.hpp.
Definition at line 430 of file process.cpp.
References Process::_event, _is_terminating, _receiver, _selector, _state, Process::_thread, Process::_thread_id, _time_stamp, _unwind_head, Processes::add(), os::create_event(), os::create_thread(), initialized, launch_delta(), LOG_EVENT1, receiver(), selector(), set_last_Delta_fp(), set_last_Delta_pc(), and set_last_Delta_sp().
Here is the call graph for this function:
DeltaProcess::~DeltaProcess | ( | ) |
Definition at line 463 of file process.cpp.
References Processes::includes(), processObj(), Processes::remove(), and processOopDesc::set_process().
Here is the call graph for this function:
static DeltaProcess* DeltaProcess::active | ( | ) | [inline, static] |
Definition at line 355 of file process.hpp.
References _active_delta_process.
Referenced by ErrorHandler::abort_current_process(), Universe::can_scavenge(), lookupCache::compile_method(), ErrorHandler::continue_nlr_in_delta(), ProcessStatusClosure::do_process(), InterpretedIC::does_not_understand(), DLLs::enter_async_call(), VMProcess::execute(), handleCallBack(), InterpretedIC::inline_cache_miss(), interpreter_super_lookup(), is_active(), launch_delta(), DLLs::lookup(), primitives::lookup_and_patch(), DLLs::lookup_and_patch_CompiledDLL_Cache(), DLLs::lookup_and_patch_InterpretedDLL_Cache(), Interpreter::loop_counter_overflow(), Interpreter::oopify_FloatValue(), pd(), PRIM_DECL_0(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), evaluator::process_line(), ps(), FlatProfiler::record_tick(), Universe::scavenge_and_allocate(), evaluator::show_command(), evaluator::single_step(), single_step_handler(), SystemAverageTask::task(), SweeperTask::task(), FlatProfilerTask::task(), evaluator::top_command(), Interpreter::trace_bytecode(), StubRoutines::trace_DLL_call_1(), transfer(), transfer_and_continue(), transfer_to_vm(), unwindInfo::unwindInfo(), verify_at_end_of_deoptimization(), StubRoutines::wrong_DLL_call(), and unwindInfo::~unwindInfo().
void DeltaProcess::async_dll_call_completed | ( | ) | [static] |
Definition at line 384 of file process.cpp.
References _async_dll_completion_event, and os::signal_event().
Referenced by wait_for_control().
Here is the call graph for this function:
void DeltaProcess::deoptimize_redo_last_send | ( | ) | [static] |
Definition at line 631 of file process.cpp.
Definition at line 794 of file process.cpp.
References frame::fp(), last_frame(), outputStream::print_cr(), frame::print_for_deoptimization(), frame::sender(), and std.
Here is the call graph for this function:
void DeltaProcess::deoptimized_wrt_marked_nmethods | ( | ) |
Definition at line 825 of file process.cpp.
int DeltaProcess::depth | ( | ) |
Definition at line 860 of file process.cpp.
void DeltaProcess::enter_uncommon | ( | ) |
Definition at line 580 of file process.cpp.
void DeltaProcess::exit_uncommon | ( | ) |
Definition at line 585 of file process.cpp.
void DeltaProcess::follow_roots | ( | ) |
Definition at line 551 of file process.cpp.
void DeltaProcess::frame_iterate | ( | FrameClosure * | blk | ) |
Definition at line 490 of file process.cpp.
References FrameClosure::begin_process(), FrameClosure::do_frame(), FrameClosure::end_process(), has_stack(), frame::is_first_frame(), last_frame(), and frame::sender().
Here is the call graph for this function:
bool DeltaProcess::has_stack | ( | ) | const |
bool DeltaProcess::in_vm_operation | ( | ) | const [inline] |
Definition at line 316 of file process.hpp.
References is_active(), and VMProcess::vm_operation().
Referenced by suspend(), transfer_and_continue(), and transfer_to().
Here is the call graph for this function:
void DeltaProcess::inc_time_stamp | ( | ) | [inline] |
void DeltaProcess::initialize_async_dll_event | ( | ) | [static] |
Definition at line 380 of file process.cpp.
References _async_dll_completion_event, and os::create_event().
Referenced by VMProcess::activate_system().
Here is the call graph for this function:
bool DeltaProcess::is_active | ( | ) | const [inline] |
Definition at line 310 of file process.hpp.
References active().
Referenced by in_vm_operation().
Here is the call graph for this function:
bool DeltaProcess::is_deltaProcess | ( | ) | const [inline, virtual] |
Reimplemented from Process.
Definition at line 180 of file process.hpp.
Referenced by launch_delta(), and VMProcess::terminate().
static bool DeltaProcess::is_idle | ( | ) | [inline, static] |
Definition at line 358 of file process.hpp.
References _is_idle.
Referenced by FlatProfiler::record_tick(), SystemAverageTask::task(), and SweeperTask::task().
bool DeltaProcess::is_ready | ( | ) | const [inline] |
Definition at line 254 of file process.hpp.
References initialized, state(), and yielded.
Here is the call graph for this function:
bool DeltaProcess::is_scheduler | ( | ) | const [inline] |
Definition at line 313 of file process.hpp.
References scheduler().
Referenced by suspend(), transfer_and_continue(), and transfer_to().
Here is the call graph for this function:
bool DeltaProcess::is_terminating | ( | ) | [inline] |
Definition at line 195 of file process.hpp.
References _is_terminating.
Referenced by suspend(), and wait_for_control().
bool DeltaProcess::isUncommon | ( | ) | const [inline] |
int * DeltaProcess::last_Delta_fp | ( | ) | const |
Definition at line 89 of file process.cpp.
References _active_delta_process, and _last_Delta_fp.
Referenced by ErrorHandler::continue_nlr_in_delta(), pd(), ps(), FlatProfiler::record_tick(), set_last_Delta_fp(), transfer(), transfer_and_continue(), and transfer_to_vm().
char * DeltaProcess::last_Delta_pc | ( | ) | const |
oop * DeltaProcess::last_Delta_sp | ( | ) | const |
Definition at line 102 of file process.cpp.
References _active_delta_process, and _last_Delta_sp.
Referenced by ErrorHandler::continue_nlr_in_delta(), set_last_Delta_sp(), transfer(), transfer_and_continue(), and transfer_to_vm().
deltaVFrame * DeltaProcess::last_delta_vframe | ( | ) |
Definition at line 848 of file process.cpp.
Referenced by vframeOopDesc::get_vframe(), PRIM_DECL_2(), and evaluator::single_step().
frame DeltaProcess::last_frame | ( | ) |
Definition at line 837 of file process.cpp.
Referenced by deoptimize_stretch(), VM_Scavenge::doit(), frame_iterate(), InterpretedIC::inline_cache_miss(), interpreter_super_lookup(), primitives::lookup_and_patch(), DLLs::lookup_and_patch_CompiledDLL_Cache(), DLLs::lookup_and_patch_InterpretedDLL_Cache(), Interpreter::loop_counter_overflow(), oop_iterate(), Interpreter::oopify_FloatValue(), FlatProfiler::record_tick(), Interpreter::trace_bytecode(), StubRoutines::trace_DLL_call_1(), and trace_stack_for_deoptimization().
int DeltaProcess::launch_delta | ( | DeltaProcess * | process | ) | [static, private] |
Definition at line 403 of file process.cpp.
References aborted, ErrorHandler::aborting_nlr_home_id(), active(), assert, Delta::call(), completed, VMProcess::execute(), have_nlr_through_C, is_deltaProcess(), NLR_error, nlr_home_id, and suspend_at_creation().
Referenced by DeltaProcess().
Here is the call graph for this function:
DeltaProcess* DeltaProcess::next | ( | ) | const [inline] |
void DeltaProcess::oop_iterate | ( | OopClosure * | blk | ) |
Definition at line 504 of file process.cpp.
References _processObj, _receiver, _selector, _unwind_head, OopClosure::do_oop(), has_stack(), frame::is_first_frame(), last_frame(), unwindInfo::next(), frame::oop_iterate(), and frame::sender().
Here is the call graph for this function:
void DeltaProcess::pop_unwind | ( | ) | [inline] |
Definition at line 231 of file process.hpp.
References _unwind_head, and unwindInfo::next().
Referenced by unwindInfo::~unwindInfo().
Here is the call graph for this function:
void DeltaProcess::print | ( | ) | [virtual] |
Implements PrintableCHeapObj.
Definition at line 470 of file process.cpp.
References boolean_error, completed, DLL_lookup_error, in_async_dll, initialized, lookup_error, NLR_error, preempted, primitive_lookup_error, outputStream::print(), outputStream::print_cr(), oopDesc::print_value(), processObj(), running, stack_overflow, state(), std, yielded, and yielded_after_async_dll.
Referenced by ProcessStatusClosure::do_process(), pd(), ps(), and transfer_and_continue().
Here is the call graph for this function:
static bool DeltaProcess::process_has_terminated | ( | ) | [inline, static] |
Definition at line 368 of file process.hpp.
References _process_has_terminated.
Referenced by transfer_to().
processOop DeltaProcess::processObj | ( | ) | const [inline] |
Definition at line 192 of file process.hpp.
References _processObj.
Referenced by PRIM_DECL_0(), print(), and ~DeltaProcess().
frame DeltaProcess::profile_top_frame | ( | ) |
Definition at line 453 of file process.cpp.
References Process::_thread, os::fetch_top_frame(), and pc().
Referenced by FlatProfiler::record_tick(), and SystemAverageTask::task().
Here is the call graph for this function:
void DeltaProcess::push_unwind | ( | unwindInfo * | info | ) | [inline] |
Definition at line 226 of file process.hpp.
References _unwind_head, and unwindInfo::set_next().
Referenced by unwindInfo::unwindInfo().
Here is the call graph for this function:
oop DeltaProcess::receiver | ( | ) | const [inline] |
static DeltaProcess* DeltaProcess::scheduler | ( | ) | [inline, static] |
Definition at line 361 of file process.hpp.
References _scheduler_process.
Referenced by VMProcess::activate_system(), is_scheduler(), VMProcess::loop(), PRIM_DECL_1(), PRIM_DECL_3(), suspend(), and transfer_and_continue().
symbolOop DeltaProcess::selector | ( | ) | const [inline] |
static void DeltaProcess::set_active | ( | DeltaProcess * | p | ) | [inline, static, private] |
Definition at line 339 of file process.hpp.
References _active_delta_process, running, set_state(), state(), and uncommon.
Referenced by transfer(), transfer_and_continue(), and VMProcess::transfer_to().
Here is the call graph for this function:
void DeltaProcess::set_last_Delta_fp | ( | int * | fp | ) |
Definition at line 93 of file process.cpp.
References _active_delta_process, _last_Delta_fp, and last_Delta_fp().
Referenced by DeltaProcess().
Here is the call graph for this function:
void DeltaProcess::set_last_Delta_pc | ( | char * | pc | ) |
Definition at line 119 of file process.cpp.
References _last_Delta_pc.
Referenced by DeltaProcess().
void DeltaProcess::set_last_Delta_sp | ( | oop * | sp | ) |
Definition at line 106 of file process.cpp.
References _active_delta_process, _last_Delta_sp, and last_Delta_sp().
Referenced by DeltaProcess().
Here is the call graph for this function:
void DeltaProcess::set_next | ( | DeltaProcess * | p | ) | [inline] |
void DeltaProcess::set_processObj | ( | processOop | p | ) | [inline] |
Definition at line 193 of file process.hpp.
References _processObj.
Referenced by VMProcess::activate_system().
static void DeltaProcess::set_scheduler | ( | DeltaProcess * | p | ) | [inline, static, private] |
Definition at line 347 of file process.hpp.
References _scheduler_process.
Referenced by VMProcess::activate_system().
void DeltaProcess::set_state | ( | ProcessState | s | ) | [inline, private] |
Definition at line 246 of file process.hpp.
References _state.
Referenced by set_active(), transfer(), transfer_and_continue(), and wait_for_control().
void DeltaProcess::set_terminating | ( | ) | [inline] |
Definition at line 196 of file process.hpp.
References _is_terminating.
Referenced by PRIM_DECL_1().
static void DeltaProcess::set_terminating_process | ( | ProcessState | state | ) | [inline, static] |
Definition at line 363 of file process.hpp.
References _process_has_terminated, and _state_of_terminated_process.
Referenced by VMProcess::terminate().
ProcessState DeltaProcess::state | ( | ) | const [inline] |
Definition at line 214 of file process.hpp.
References _state.
Referenced by is_ready(), print(), set_active(), status_symbol(), VMProcess::terminate(), and transfer_to().
static ProcessState DeltaProcess::state_of_terminated_process | ( | ) | [inline, static] |
Definition at line 373 of file process.hpp.
References _state_of_terminated_process.
Referenced by transfer_to().
symbolOop DeltaProcess::status_symbol | ( | ) | const [inline] |
Definition at line 216 of file process.hpp.
References state(), and symbol_from_state().
Referenced by processOopDesc::status_symbol().
Here is the call graph for this function:
void DeltaProcess::suspend | ( | ProcessState | reason | ) |
Definition at line 287 of file process.cpp.
References ErrorHandler::abort_current_process(), assert, in_vm_operation(), is_scheduler(), is_terminating(), scheduler(), and transfer().
Referenced by InterpretedIC::does_not_understand(), DLLs::lookup(), primitives::lookup_and_patch(), PRIM_DECL_0(), and StubRoutines::wrong_DLL_call().
Here is the call graph for this function:
void DeltaProcess::suspend_at_creation | ( | ) |
Definition at line 324 of file process.cpp.
References Process::_event, and os::wait_for_event().
Referenced by launch_delta().
Here is the call graph for this function:
symbolOop DeltaProcess::symbol_from_state | ( | ProcessState | state | ) | [static] |
Definition at line 522 of file process.cpp.
References aborted, boolean_error, completed, DLL_lookup_error, float_error, in_async_dll, initialized, lookup_error, NLR_error, preempted, primitive_lookup_error, running, stack_overflow, stopped, yielded, and yielded_after_async_dll.
Referenced by PRIM_DECL_1(), PRIM_DECL_3(), and status_symbol().
double DeltaProcess::system_time | ( | ) |
int DeltaProcess::time_stamp | ( | ) | const [inline] |
Definition at line 198 of file process.hpp.
References _time_stamp.
Referenced by vframeOopDesc::get_vframe(), and oopFactory::new_vframe().
void DeltaProcess::trace_stack | ( | ) |
Definition at line 871 of file process.cpp.
Referenced by InterpretedIC::does_not_understand(), primitives::lookup_and_patch(), PRIM_DECL_0(), evaluator::process_line(), ps(), and StubRoutines::wrong_DLL_call().
void DeltaProcess::trace_stack_for_deoptimization | ( | frame * | f = NULL |
) |
Definition at line 891 of file process.cpp.
References frame::is_first_frame(), last_frame(), outputStream::print_cr(), frame::print_for_deoptimization(), frame::sender(), and std.
Referenced by pd(), and verify_at_end_of_deoptimization().
Here is the call graph for this function:
void DeltaProcess::trace_stack_from | ( | vframe * | top_frame | ) | [static] |
Definition at line 875 of file process.cpp.
References outputStream::print_cr(), and std.
Referenced by ps().
Here is the call graph for this function:
void DeltaProcess::trace_top | ( | int | start_frame, | |
int | number_of_frames | |||
) |
Definition at line 907 of file process.cpp.
Referenced by PRIM_DECL_2(), evaluator::show_command(), and evaluator::top_command().
void DeltaProcess::transfer | ( | ProcessState | reason, | |
DeltaProcess * | destination | |||
) | [private] |
Definition at line 262 of file process.cpp.
References _last_Delta_fp, _last_Delta_sp, active(), assert, Process::basic_transfer(), inc_time_stamp(), last_Delta_fp(), last_Delta_sp(), set_active(), Process::set_current(), and set_state().
Referenced by suspend(), and transfer_to().
Here is the call graph for this function:
void DeltaProcess::transfer_and_continue | ( | ) |
Definition at line 330 of file process.cpp.
References Process::_event, _last_Delta_fp, _last_Delta_sp, Process::_thread, active(), assert, outputStream::cr(), in_async_dll, in_vm_operation(), is_scheduler(), last_Delta_fp(), last_Delta_sp(), print(), outputStream::print(), scheduler(), set_active(), Process::set_current(), set_state(), std, and os::transfer_and_continue().
Referenced by DLLs::enter_async_call(), and handleCallBack().
Here is the call graph for this function:
ProcessState DeltaProcess::transfer_to | ( | DeltaProcess * | target | ) |
Definition at line 296 of file process.cpp.
References assert, in_async_dll, in_vm_operation(), is_scheduler(), process_has_terminated(), state(), state_of_terminated_process(), transfer(), and yielded.
Referenced by PRIM_DECL_1(), and PRIM_DECL_3().
Here is the call graph for this function:
void DeltaProcess::transfer_to_vm | ( | ) |
Definition at line 310 of file process.cpp.
References _last_Delta_fp, _last_Delta_sp, active(), assert, Process::basic_transfer(), last_Delta_fp(), last_Delta_sp(), Process::set_current(), and VMProcess::vm_process().
Referenced by VMProcess::execute().
Here is the call graph for this function:
void DeltaProcess::unwinds_do | ( | void | f(unwindInfo *info) | ) | [inline] |
Definition at line 235 of file process.hpp.
References _unwind_head, and unwindInfo::next().
Here is the call graph for this function:
void DeltaProcess::update_nlr_targets | ( | compiledVFrame * | f, | |
contextOop | con | |||
) |
Definition at line 924 of file process.cpp.
double DeltaProcess::user_time | ( | ) |
int DeltaProcess::vdepth | ( | frame * | f = NULL |
) |
Definition at line 866 of file process.cpp.
void DeltaProcess::verify | ( | ) |
bool DeltaProcess::wait_for_async_dll | ( | int | timeout_in_ms | ) | [static] |
Definition at line 360 of file process.cpp.
References _async_dll_completion_event, _is_idle, Processes::has_completed_async_call(), outputStream::print(), outputStream::print_cr(), os::reset_event(), std, and os::wait_for_event_or_timer().
Referenced by PRIM_DECL_1().
Here is the call graph for this function:
void DeltaProcess::wait_for_control | ( | ) |
Definition at line 388 of file process.cpp.
References Process::_event, ErrorHandler::abort_current_process(), async_dll_call_completed(), is_terminating(), outputStream::print(), set_state(), std, os::wait_for_event(), and yielded_after_async_dll.
Referenced by DLLs::exit_async_call().
Here is the call graph for this function:
friend class VMProcess [friend] |
Definition at line 173 of file process.hpp.
DeltaProcess * DeltaProcess::_active_delta_process = NULL [static, private] |
Definition at line 334 of file process.hpp.
Referenced by active(), last_Delta_fp(), last_Delta_sp(), set_active(), set_last_Delta_fp(), and set_last_Delta_sp().
Event * DeltaProcess::_async_dll_completion_event = NULL [static, private] |
Definition at line 391 of file process.hpp.
Referenced by async_dll_call_completed(), initialize_async_dll_event(), and wait_for_async_dll().
bool DeltaProcess::_is_idle = false [static, private] |
bool DeltaProcess::_is_terminating [private] |
Definition at line 169 of file process.hpp.
Referenced by DeltaProcess(), is_terminating(), and set_terminating().
int* DeltaProcess::_last_Delta_fp [private] |
Definition at line 165 of file process.hpp.
Referenced by last_Delta_fp(), set_last_Delta_fp(), transfer(), transfer_and_continue(), VMProcess::transfer_to(), and transfer_to_vm().
char* DeltaProcess::_last_Delta_pc [private] |
oop* DeltaProcess::_last_Delta_sp [private] |
Definition at line 166 of file process.hpp.
Referenced by last_Delta_sp(), set_last_Delta_sp(), transfer(), transfer_and_continue(), VMProcess::transfer_to(), and transfer_to_vm().
DeltaProcess* DeltaProcess::_next [private] |
bool DeltaProcess::_process_has_terminated = false [static, private] |
Definition at line 378 of file process.hpp.
Referenced by process_has_terminated(), and set_terminating_process().
processOop DeltaProcess::_processObj [private] |
Definition at line 162 of file process.hpp.
Referenced by oop_iterate(), processObj(), and set_processObj().
oop DeltaProcess::_receiver [private] |
Definition at line 159 of file process.hpp.
Referenced by DeltaProcess(), oop_iterate(), and receiver().
DeltaProcess * DeltaProcess::_scheduler_process = NULL [static, private] |
symbolOop DeltaProcess::_selector [private] |
Definition at line 160 of file process.hpp.
Referenced by DeltaProcess(), oop_iterate(), and selector().
ProcessState DeltaProcess::_state [private] |
Definition at line 163 of file process.hpp.
Referenced by DeltaProcess(), isUncommon(), set_state(), and state().
ProcessState DeltaProcess::_state_of_terminated_process = initialized [static, private] |
Definition at line 379 of file process.hpp.
Referenced by set_terminating_process(), and state_of_terminated_process().
int DeltaProcess::_time_stamp [private] |
Definition at line 171 of file process.hpp.
Referenced by DeltaProcess(), inc_time_stamp(), and time_stamp().
unwindInfo* DeltaProcess::_unwind_head [private] |
Definition at line 243 of file process.hpp.
Referenced by DeltaProcess(), oop_iterate(), pop_unwind(), push_unwind(), and unwinds_do().