Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

frame Class Reference

#include <frame.h>

List of all members.

Public Members

frame* sender ()
void** location_addr (Location r, RegisterLocator* rl = NULL)
void fix_frame (char* pc, char* sp)
frame* home_frame_of_block_scope (frame* hint = NULL)
frame* block_scope_of_home_frame ()
frame* home_frame_of_vfo_locals (frame* hint = NULL)
frame* vfo_locals_of_home_frame ()
char* c_entry_point ()
char* c_return_pc ()
frame* make_full_frame (char* pc)
frame* make_full_frame_after_trap (char* pc)
frame* make_full_frame_on_user_stack ()
sendDesc* send_desc ()
void scavenge_contents (RegisterLocator*)
void gc_mark_contents (RegisterLocator*)
void gc_unmark_contents (RegisterLocator*)
void verify_oops (RegisterLocator*)
void switch_pointers (oop from, oop to, RegisterLocator*)
void oops_do (oopsDoFn f, RegisterLocator*)
void stack_locations_do (oopsDoFn f, RegisterLocator*)
void zap (RegisterString mask, RegisterLocator*)
frame* sendee (frame* hint = NULL)
void verify (int n, RegisterLocator* rl)
frame* nmethod_frame_chain ()
void set_nmethod_frame_chain (frame* f)
char** currentPC_addr ()
char* currentPC ()
void set_currentPC (char* p)
char* real_return_addr ()
void set_real_return_addr (char* x)
char* return_addr ()
void set_return_addr (char* addr)
void adjust_return_addr (int32 delta)
void fix_current_return_address (char* addr)
void patch (frame* prev, bool forceSelfFrame = false)
void patch_profiler_trap ()
bool is_patched ()
void remove_patch ()
void remove_patches_up_to_C ()
frame* get_patched_self_frame (char* sp_of_patched_frame)
frame* selfSender ()
frame* immediateSelfSender ()
Stackmy_stack ()
int32 frame_size ()
bool is_compiled_self_frame ()
bool is_interpreted_self_frame ()
interpreterget_interpreter ()
interpreterget_interpreter_of_block_scope ()
bool is_self_frame ()
bool is_first_self_frame ()
fint vdepth (bool includePrologueVframe = false)
bool is_in_prologue ()
nmethodcode ()
void nmethod_moved_by (int32 delta)
void trace (oop receiver, nmethod* c)
void traceAssignment (oop receiver, nmethod* c)
void traceLookup (oop receiver, nmethod* c)
void print_trace_indent ()
void print ()
void printVerbose ()

Protected Members

char** real_return_addr_addr ()
void copy_to (char* sp, char* caller, char* pc, bool adjust)
frame* copy (fint nsenders = 0, bool adjustBlocks = false)
void adjust_blocks (frame* oldScope, frame* newScope, RegisterLocator* rl)
int32 frame_size_of_uncopied_frame ()
RegisterString mask_if_present ()
void print_compiled ()
oop get_lookup_arg (fint index)
frame** nmethod_frame_chain_addr ()
void patch_interpreted_self_frame (bool forProfiling)
void patch_compiled_self_frame (returnTrapHandlerFn new_fn)
returnTrapHandlerFn return_addr_for_patching (bool forceSelfFrame, frame* sendee)
void trace_patch (returnTrapHandlerFn new_fn)
frame* find_last_frame_to_copy (fint nsenders)
frame* copy_frames_through (frame* last_frame_to_copy)
int32 copy_through_oop_count (frame* last_frame_to_copy)
void adjust_blocks_of_copied_frames (fint, frame*)
void adjust_frame_links_of_copied_frames ( frame*, frame*)

Static Protected Members

Location location_of_interpreter_of_block_scope (void* entry_point)

Friends

struct Profiler
struct Recompilation


Detailed Description


Member Function Documentation

frame * frame::sender ()

void ** frame::location_addr (Location r, RegisterLocator * rl = NULL)

void frame::fix_frame (char * pc, char * sp)

frame * frame::home_frame_of_block_scope (frame * currentFrameHint = NULL)

frame * frame::block_scope_of_home_frame ()

frame * frame::home_frame_of_vfo_locals (frame * currentFrameHint = NULL)

frame * frame::vfo_locals_of_home_frame ()

char * frame::c_entry_point ()

char * frame::c_return_pc ()

frame * frame::make_full_frame (char * pc)

frame * frame::make_full_frame_after_trap (char * pc)

frame * frame::make_full_frame_on_user_stack ()

sendDesc * frame::send_desc ()

void frame::scavenge_contents (RegisterLocator * rl)

void frame::gc_mark_contents (RegisterLocator * rl)

void frame::gc_unmark_contents (RegisterLocator * rl)

void frame::verify_oops (RegisterLocator * rl)

void frame::switch_pointers (oop from, oop to, RegisterLocator * rl)

void frame::oops_do (oopsDoFn f, RegisterLocator * rl)

void frame::stack_locations_do (oopsDoFn f, RegisterLocator * rl)

void frame::zap (RegisterString m, RegisterLocator * rl)

frame * frame::sendee (frame * startFrameHint = NULL)

void frame::verify (int n, RegisterLocator * rl)

frame * frame::nmethod_frame_chain ()

void frame::set_nmethod_frame_chain (frame * f)

char ** frame::currentPC_addr ()

char * frame::currentPC ()

void frame::set_currentPC (char * p)

char * frame::real_return_addr ()

void frame::set_real_return_addr (char * x)

char * frame::return_addr ()

void frame::set_return_addr (char * addr)

void frame::adjust_return_addr (int32 delta)

void frame::fix_current_return_address (char * addr)

void frame::patch (frame * prev, bool forceSelfFrame = false)

void frame::patch_profiler_trap ()

bool frame::is_patched ()

void frame::remove_patch ()

void frame::remove_patches_up_to_C ()

frame * frame::get_patched_self_frame (char * sp_of_patched_frame)

frame * frame::selfSender ()

frame * frame::immediateSelfSender ()

Stack * frame::my_stack ()

int32 frame::frame_size ()

bool frame::is_compiled_self_frame ()

bool frame::is_interpreted_self_frame ()

interpreter * frame::get_interpreter ()

interpreter * frame::get_interpreter_of_block_scope ()

bool frame::is_self_frame ()

bool frame::is_first_self_frame ()

fint frame::vdepth (bool includePrologueVframe = false)

bool frame::is_in_prologue ()

nmethod * frame::code ()

void frame::nmethod_moved_by (int32 delta)

void frame::trace (oop receiver, nmethod * c)

void frame::traceAssignment (oop receiver, nmethod * c)

void frame::traceLookup (oop receiver, nmethod * c)

void frame::print_trace_indent ()

void frame::print ()

void frame::printVerbose ()

char ** frame::real_return_addr_addr () [protected]

void frame::copy_to (char * sp, char * caller, char * pc, bool adjust) [protected]

frame * frame::copy (fint nsenders = 0, bool adjustBlocks = false) [protected]

void frame::adjust_blocks (frame * olds, frame * news, RegisterLocator * rl) [protected]

int32 frame::frame_size_of_uncopied_frame () [protected]

RegisterString frame::mask_if_present () [protected]

void frame::print_compiled () [protected]

oop frame::get_lookup_arg (fint index) [protected]

frame ** frame::nmethod_frame_chain_addr () [protected]

void frame::patch_interpreted_self_frame (bool forProfiling) [protected]

void frame::patch_compiled_self_frame (returnTrapHandlerFn new_fn) [protected]

returnTrapHandlerFn frame::return_addr_for_patching (bool forceSelfFrame, frame * sendee_arg) [protected]

void frame::trace_patch (returnTrapHandlerFn new_fn) [protected]

frame * frame::find_last_frame_to_copy (fint nsenders) [protected]

frame * frame::copy_frames_through (frame * last_frame_to_copy) [protected]

int32 frame::copy_through_oop_count (frame * last_frame_to_copy) [protected]

void frame::adjust_blocks_of_copied_frames (fint nsenders, frame * first_copied_frame) [protected]

void frame::adjust_frame_links_of_copied_frames (frame * last_frame_to_copy, frame * first_copied_frame) [protected]

Location frame::location_of_interpreter_of_block_scope (void * entry_point) [static, protected]


Friends And Related Function Documentation

friend struct Profiler [friend]

friend struct Recompilation [friend]


The documentation for this class was generated from the following files:
Generated at Tue Jun 27 12:13:41 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999