VMProcess Class Reference

#include <process.hpp>

Inheritance diagram for VMProcess:

Inheritance graph
[legend]
Collaboration diagram for VMProcess:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 VMProcess ()
bool is_vmProcess () const
void activate_system ()
void loop ()
void transfer_to (DeltaProcess *target_process)
void print ()

Static Public Member Functions

static void terminate (DeltaProcess *proc)
static void execute (VM_Operation *op)
static VM_Operationvm_operation ()
static VMProcessvm_process ()

Static Private Attributes

static VM_Operation_vm_operation = NULL
static VMProcess_vm_process = NULL

Detailed Description

Definition at line 98 of file process.hpp.


Constructor & Destructor Documentation

VMProcess::VMProcess (  ) 

Definition at line 146 of file process.cpp.

References Process::_event, Process::_thread, Process::_thread_id, _vm_operation, _vm_process, assert, os::create_event(), os::starting_thread(), and vm_process().

Here is the call graph for this function:


Member Function Documentation

void VMProcess::activate_system (  ) 

Definition at line 184 of file process.cpp.

References Universe::find_global(), Universe::find_global_association(), DeltaProcess::initialize_async_dll_event(), oopDesc::is_process(), loop(), oopFactory::new_symbol(), DeltaProcess::scheduler(), DeltaProcess::set_processObj(), DeltaProcess::set_scheduler(), and transfer_to().

Here is the call graph for this function:

void VMProcess::execute ( VM_Operation op  )  [static]

Definition at line 228 of file process.cpp.

References _vm_operation, DeltaProcess::active(), VM_Operation::evaluate(), fatal, Sweeper::is_running(), VM_Operation::set_calling_process(), and DeltaProcess::transfer_to_vm().

Referenced by lookupCache::cache_miss_lookup(), lookupCache::compile_method(), DeltaProcess::launch_delta(), PRIM_DECL_0(), PRIM_DECL_1(), PRIM_DECL_2(), evaluator::process_line(), and Universe::scavenge_and_allocate().

Here is the call graph for this function:

bool VMProcess::is_vmProcess (  )  const [inline, virtual]

Reimplemented from Process.

Definition at line 104 of file process.hpp.

Referenced by terminate().

void VMProcess::loop (  ) 

Definition at line 210 of file process.cpp.

References _vm_operation, assert, VM_Operation::calling_process(), VM_Operation::evaluate(), DeltaProcess::scheduler(), transfer_to(), and vm_operation().

Referenced by activate_system().

Here is the call graph for this function:

void VMProcess::print (  )  [virtual]

Implements PrintableCHeapObj.

Definition at line 224 of file process.cpp.

References outputStream::print_cr(), and std.

Here is the call graph for this function:

void VMProcess::terminate ( DeltaProcess proc  )  [static]

Definition at line 170 of file process.cpp.

References Process::_event, Process::_thread, assert, Process::current(), os::delete_event(), DeltaProcess::is_deltaProcess(), is_vmProcess(), DeltaProcess::set_terminating_process(), DeltaProcess::state(), and os::terminate_thread().

Referenced by VM_TerminateProcess::doit(), and Processes::kill_all().

Here is the call graph for this function:

void VMProcess::transfer_to ( DeltaProcess target_process  ) 

Definition at line 156 of file process.cpp.

References DeltaProcess::_last_Delta_fp, DeltaProcess::_last_Delta_sp, Process::basic_transfer(), last_Delta_fp, last_Delta_sp, DeltaProcess::set_active(), and Process::set_current().

Referenced by activate_system(), and loop().

Here is the call graph for this function:

static VM_Operation* VMProcess::vm_operation (  )  [inline, static]

Definition at line 125 of file process.hpp.

References _vm_operation.

Referenced by DeltaProcess::in_vm_operation(), and loop().

static VMProcess* VMProcess::vm_process (  )  [inline, static]

Definition at line 128 of file process.hpp.

References _vm_process.

Referenced by DeltaProcess::transfer_to_vm(), and VMProcess().


Member Data Documentation

VM_Operation * VMProcess::_vm_operation = NULL [static, private]

Definition at line 131 of file process.hpp.

Referenced by execute(), loop(), vm_operation(), and VMProcess().

VMProcess * VMProcess::_vm_process = NULL [static, private]

Definition at line 132 of file process.hpp.

Referenced by vm_process(), and VMProcess().


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 14:21:31 2006 for Strongtalk VM by  doxygen 1.4.7