process.cpp File Reference

#include "incls/_precompiled.incl"
#include "incls/_process.cpp.incl"

Include dependency graph for process.cpp:

Go to the source code of this file.

Classes

class  ScavengeOopClosure
class  ConvertHCodePointersClosure
class  RestoreHCodePointersClosure

Defines

#define ALL_PROCESSES(X)   for (DeltaProcess* X = processList; X; X = X->next())

Functions

oopsetup_deoptimization_and_return_new_sp (oop *old_sp, int *old_fp, objArrayOop frame_array, int *current_frame)
void redo_bytecode_after_deoptimization ()
void unpack_frame_array ()
void verify_at_end_of_deoptimization ()
void unpack_unoptimized_frames ()
void handle_error (ProcessState error)
void handle_interpreter_error (char *message)
void suspend_on_error (InterpreterErrorConstants error_code)
void suspend_on_NLR_error ()
void trace_stack_at_exception (int *sp, int *fp, char *pc)
void suspend_process_at_stack_overflow (int *sp, int *fp, char *pc)

Variables

char * C_frame_return_addr
bool have_nlr_through_C
int nlr_home
int nlr_home_id
oop nlr_result
bool processSemaphore = false
int * last_Delta_fp = NULL
ooplast_Delta_sp = NULL
int CurrentHash = 23
bool have_nlr_through_C
static oopold_sp
static oopnew_sp
static int * old_fp
static int * cur_fp
static objArrayOop frame_array
static bool redo_the_send
int redo_send_offset = 0
bool nlr_through_unpacking = false
oop result_through_unpacking = NULL
int number_of_arguments_through_unpacking = 0
char * C_frame_return_addr = NULL
contextOop nlr_home_context


Define Documentation

#define ALL_PROCESSES (  )     for (DeltaProcess* X = processList; X; X = X->next())

Definition at line 957 of file process.cpp.


Function Documentation

void handle_error ( ProcessState  error  ) 

Definition at line 1132 of file process.cpp.

Referenced by suspend_on_error().

void handle_interpreter_error ( char *  message  ) 

Definition at line 1147 of file process.cpp.

void redo_bytecode_after_deoptimization (  ) 

oop* setup_deoptimization_and_return_new_sp ( oop old_sp,
int *  old_fp,
objArrayOop  frame_array,
int *  current_frame 
)

Definition at line 605 of file process.cpp.

void suspend_on_error ( InterpreterErrorConstants  error_code  ) 

Definition at line 1153 of file process.cpp.

References boolean_error, boolean_expected, float_error, float_expected, handle_error(), NLR_error, nonlocal_return_error, primitive_lookup_error, and primitive_lookup_failed.

Here is the call graph for this function:

void suspend_on_NLR_error (  ) 

Definition at line 1179 of file process.cpp.

void suspend_process_at_stack_overflow ( int *  sp,
int *  fp,
char *  pc 
)

Definition at line 1201 of file process.cpp.

void trace_stack_at_exception ( int *  sp,
int *  fp,
char *  pc 
)

Definition at line 1185 of file process.cpp.

References last_Delta_fp, last_Delta_sp, and vframe::new_vframe().

Here is the call graph for this function:

void unpack_frame_array (  ) 

Definition at line 648 of file process.cpp.

void unpack_unoptimized_frames (  ) 

void verify_at_end_of_deoptimization (  ) 

Definition at line 780 of file process.cpp.

References DeltaProcess::active(), outputStream::print_cr(), std, DeltaProcess::trace_stack_for_deoptimization(), and DeltaProcess::verify().

Here is the call graph for this function:


Variable Documentation

char* C_frame_return_addr = NULL

Definition at line 641 of file process.cpp.

char* C_frame_return_addr

Definition at line 29 of file process.cpp.

Referenced by unwindInfo::unwindInfo(), and unwindInfo::~unwindInfo().

int* cur_fp [static]

Definition at line 602 of file process.cpp.

int CurrentHash = 23

Definition at line 123 of file process.cpp.

Referenced by assign_hash().

objArrayOop frame_array [static]

Definition at line 603 of file process.cpp.

bool have_nlr_through_C

Definition at line 400 of file process.cpp.

bool have_nlr_through_C

Definition at line 30 of file process.cpp.

int* last_Delta_fp = NULL

Definition at line 85 of file process.cpp.

Referenced by ErrorHandler::abort_current_process(), MacroAssembler::reset_last_Delta_frame(), SavedRegisters::save_registers(), Universe::scavenge_and_allocate(), MacroAssembler::set_last_Delta_frame_before_call(), single_step_handler(), SystemAverageTask::task(), SweeperTask::task(), trace_stack_at_exception(), VMProcess::transfer_to(), and unwindInfo::unwindInfo().

oop* last_Delta_sp = NULL

Definition at line 86 of file process.cpp.

Referenced by ErrorHandler::abort_current_process(), Universe::scavenge_and_allocate(), MacroAssembler::set_last_Delta_frame_before_call(), trace_stack_at_exception(), VMProcess::transfer_to(), and unwindInfo::unwindInfo().

oop* new_sp [static]

Definition at line 600 of file process.cpp.

int nlr_home

Definition at line 31 of file process.cpp.

contextOop nlr_home_context

Definition at line 642 of file process.cpp.

int nlr_home_id

Definition at line 32 of file process.cpp.

oop nlr_result

Definition at line 33 of file process.cpp.

bool nlr_through_unpacking = false

Definition at line 638 of file process.cpp.

int number_of_arguments_through_unpacking = 0

Definition at line 640 of file process.cpp.

int* old_fp [static]

Definition at line 601 of file process.cpp.

oop* old_sp [static]

Definition at line 599 of file process.cpp.

bool processSemaphore = false

Definition at line 81 of file process.cpp.

Referenced by Universe::can_scavenge(), oopFactory::new_objArray(), FlatProfiler::record_tick(), Universe::scavenge(), and SweeperTask::task().

int redo_send_offset = 0

Definition at line 629 of file process.cpp.

bool redo_the_send [static]

Definition at line 627 of file process.cpp.

oop result_through_unpacking = NULL

Definition at line 639 of file process.cpp.


Generated on Mon Oct 9 13:44:09 2006 for Strongtalk VM by  doxygen 1.4.7