frame Class Reference

#include <frame.hpp>

Inheritance diagram for frame:

Inheritance graph
[legend]
Collaboration diagram for frame:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 frame ()
 frame (oop *sp, int *fp, char *pc)
 frame (oop *sp, int *fp)
oopsp () const
int * fp () const
char * pc () const
void patch_pc (char *pc)
void patch_fp (int *fp)
int * addr_at (int index) const
int at (int index) const
oopsender_sp () const
int * link () const
void set_link (int *addr)
char * return_addr () const
void set_return_addr (char *addr)
oop receiver () const
void set_receiver (oop recv)
oop temp (int offset) const
void set_temp (int offset, oop obj)
ooptemp_addr (int offset) const
oop arg (int offset) const
void set_arg (int offset, oop obj)
oop expr (int index) const
u_charhp () const
void set_hp (u_char *hp)
methodOop method () const
nmethod * code () const
objArrayOopframe_array_addr () const
oop ** real_sender_sp_addr () const
objArrayOop frame_array () const
void set_frame_array (objArrayOop a)
oopreal_sender_sp () const
void set_real_sender_sp (oop *addr)
int frame_size () const
frame sender () const
frame delta_sender () const
bool has_next_Delta_fp () const
int * next_Delta_fp () const
oopnext_Delta_sp () const
bool is_first_frame () const
bool is_first_delta_frame () const
bool is_interpreted_frame () const
bool is_compiled_frame () const
bool is_delta_frame () const
bool should_be_deoptimized () const
bool is_entry_frame () const
bool is_deoptimized_frame () const
IC_Iteratorsender_ic_iterator () const
IC_Iteratorcurrent_ic_iterator () const
InterpretedICcurrent_interpretedIC () const
CompiledIC * current_compiledIC () const
void oop_iterate (OopClosure *blk)
void layout_iterate (FrameLayoutClosure *blk)
void verify () const
void print () const
void print_for_deoptimization (outputStream *st)
void follow_roots ()
void convert_hcode_pointer ()
void restore_hcode_pointer ()

Static Public Member Functions

static int interpreter_stack_size (int number_of_frames, int number_of_temporaries_and_locals)
static int interpreter_frame_size (int locals)

Private Member Functions

int ** link_addr () const
char ** return_addr_addr () const
oopreceiver_addr () const
u_char ** hp_addr () const
ooparg_addr (int off) const
bool has_interpreted_float_marker () const
bool oop_iterate_interpreted_float_frame (OopClosure *blk)
bool follow_roots_interpreted_float_frame ()
bool has_compiled_float_marker () const
bool oop_iterate_compiled_float_frame (OopClosure *blk)
bool follow_roots_compiled_float_frame ()
char * print_name () const

Private Attributes

oop_sp
int * _fp
char * _pc

Detailed Description

Definition at line 60 of file frame.hpp.


Constructor & Destructor Documentation

frame::frame (  )  [inline]

Definition at line 68 of file frame.hpp.

Referenced by sender().

frame::frame ( oop sp,
int *  fp,
char *  pc 
) [inline]

Definition at line 69 of file frame.hpp.

References _fp, _pc, _sp, and sp().

Here is the call graph for this function:

frame::frame ( oop sp,
int *  fp 
) [inline]

Definition at line 73 of file frame.hpp.

References _fp, _pc, _sp, and sp().

Here is the call graph for this function:


Member Function Documentation

int* frame::addr_at ( int  index  )  const [inline]

Definition at line 88 of file frame.hpp.

References fp().

Referenced by arg_addr(), at(), follow_roots_interpreted_float_frame(), frame_array_addr(), hp_addr(), link_addr(), oop_iterate_interpreted_float_frame(), real_sender_sp_addr(), receiver_addr(), return_addr_addr(), sender_sp(), and temp_addr().

Here is the call graph for this function:

oop frame::arg ( int  offset  )  const [inline]

Definition at line 122 of file frame.hpp.

References arg_addr().

Here is the call graph for this function:

oop* frame::arg_addr ( int  off  )  const [inline, private]

Definition at line 98 of file frame.hpp.

References addr_at(), and frame_arg_offset.

Referenced by arg(), and set_arg().

Here is the call graph for this function:

int frame::at ( int  index  )  const [inline]

Definition at line 89 of file frame.hpp.

References addr_at().

Referenced by has_compiled_float_marker(), has_interpreted_float_marker(), has_next_Delta_fp(), next_Delta_fp(), and next_Delta_sp().

Here is the call graph for this function:

nmethod * frame::code (  )  const

Definition at line 78 of file frame.cpp.

References assert, is_compiled_frame(), and pc().

Referenced by should_be_deoptimized().

Here is the call graph for this function:

void frame::convert_hcode_pointer (  ) 

Definition at line 440 of file frame.cpp.

References MarkSweep::add_hcode_offset(), as_memOop(), hp(), is_interpreted_frame(), Universe::object_start(), and set_hp().

Referenced by ConvertHCodePointersClosure::do_frame().

Here is the call graph for this function:

CompiledIC * frame::current_compiledIC (  )  const

Definition at line 142 of file frame.cpp.

References is_compiled_frame(), and pc().

Referenced by current_ic_iterator().

Here is the call graph for this function:

IC_Iterator * frame::current_ic_iterator (  )  const

Definition at line 105 of file frame.cpp.

References current_compiledIC(), current_interpretedIC(), is_compiled_frame(), is_interpreted_frame(), Bytecodes::is_send_code(), and InterpretedIC::send_code().

Referenced by sender_ic_iterator().

Here is the call graph for this function:

InterpretedIC * frame::current_interpretedIC (  )  const

Definition at line 124 of file frame.cpp.

References as_InterpretedIC(), assert, methodOopDesc::bci_from(), methodOopDesc::codes(), hp(), is_interpreted_frame(), Bytecodes::is_send_code(), method(), and InterpretedIC::send_code_addr().

Referenced by current_ic_iterator(), and InterpretedIC::inline_cache_miss().

Here is the call graph for this function:

frame frame::delta_sender (  )  const

Definition at line 496 of file frame.cpp.

References is_delta_frame(), and sender().

Here is the call graph for this function:

oop frame::expr ( int  index  )  const [inline]

Definition at line 126 of file frame.hpp.

References sp().

Referenced by InterpretedIC::does_not_understand(), and InterpretedIC::inline_cache_miss().

Here is the call graph for this function:

void frame::follow_roots (  ) 

Definition at line 406 of file frame.cpp.

References MarkSweep::follow_root(), follow_roots_compiled_float_frame(), follow_roots_interpreted_float_frame(), fp(), frame_array_addr(), frame_real_sender_sp_offset, has_compiled_float_marker(), has_interpreted_float_marker(), hp_addr(), is_compiled_frame(), is_deoptimized_frame(), is_entry_frame(), is_interpreted_frame(), receiver_addr(), sp(), and temp_addr().

Here is the call graph for this function:

bool frame::follow_roots_compiled_float_frame (  )  [private]

Definition at line 401 of file frame.cpp.

References warning().

Referenced by follow_roots().

Here is the call graph for this function:

bool frame::follow_roots_interpreted_float_frame (  )  [private]

Definition at line 376 of file frame.cpp.

References addr_at(), assert, methodOopDesc::float_section_size(), methodOopDesc::float_section_start_offset(), MarkSweep::follow_root(), methodOopDesc::has_float_temporaries(), hp(), oopDesc::is_method(), receiver_addr(), sp(), and temp_addr().

Referenced by follow_roots().

Here is the call graph for this function:

int* frame::fp (  )  const [inline]

Definition at line 81 of file frame.hpp.

References _fp.

Referenced by addr_at(), DeltaProcess::deoptimize_stretch(), vframe::equal(), follow_roots(), oop_iterate(), Interpreter::oopify_FloatValue(), print(), print_for_deoptimization(), and verify().

objArrayOop frame::frame_array (  )  const

Definition at line 49 of file frame.cpp.

References assert, frame_array_addr(), and oopDesc::is_objArray().

Referenced by print_for_deoptimization().

Here is the call graph for this function:

objArrayOop * frame::frame_array_addr (  )  const

Definition at line 43 of file frame.cpp.

References addr_at(), assert, frame_frame_array_offset, frame_size(), and minimum_size_for_deoptimized_frame.

Referenced by follow_roots(), frame_array(), oop_iterate(), and set_frame_array().

Here is the call graph for this function:

int frame::frame_size (  )  const [inline]

Definition at line 162 of file frame.hpp.

References sender_sp(), and sp().

Referenced by frame_array_addr(), and method().

Here is the call graph for this function:

bool frame::has_compiled_float_marker (  )  const [inline, private]

Definition at line 295 of file frame.cpp.

References at(), compiled_frame_magic_oop_offset, and Floats::magic_value().

Referenced by follow_roots(), and oop_iterate().

Here is the call graph for this function:

bool frame::has_interpreted_float_marker (  )  const [inline, private]

Definition at line 291 of file frame.cpp.

References at(), interpreted_frame_float_magic_offset, and Floats::magic_value().

Referenced by follow_roots(), and oop_iterate().

Here is the call graph for this function:

bool frame::has_next_Delta_fp (  )  const

Definition at line 154 of file frame.cpp.

References at(), and frame_next_Delta_fp_offset.

Referenced by is_first_frame(), and sender().

Here is the call graph for this function:

u_char * frame::hp (  )  const

Definition at line 27 of file frame.cpp.

References hp_addr().

Referenced by convert_hcode_pointer(), current_interpretedIC(), follow_roots_interpreted_float_frame(), interpretedVFrame::hp(), primitives::lookup_and_patch(), DLLs::lookup_and_patch_InterpretedDLL_Cache(), method(), oop_iterate_interpreted_float_frame(), Interpreter::oopify_FloatValue(), patch_last_delta_frame(), print(), FlatProfiler::record_tick_for_calling_frame(), restore_hcode_pointer(), restore_hp(), Interpreter::trace_bytecode(), and StubRoutines::trace_DLL_call_1().

Here is the call graph for this function:

u_char** frame::hp_addr (  )  const [inline, private]

Definition at line 97 of file frame.hpp.

References addr_at(), and frame_hp_offset.

Referenced by follow_roots(), hp(), layout_iterate(), and set_hp().

Here is the call graph for this function:

static int frame::interpreter_frame_size ( int  locals  )  [inline, static]

Definition at line 222 of file frame.hpp.

References frame_return_addr_offset, and frame_temp_offset.

Referenced by interpreter_stack_size().

static int frame::interpreter_stack_size ( int  number_of_frames,
int  number_of_temporaries_and_locals 
) [inline, static]

Definition at line 216 of file frame.hpp.

References interpreter_frame_size().

Here is the call graph for this function:

bool frame::is_compiled_frame (  )  const

Definition at line 87 of file frame.cpp.

References pc().

Referenced by code(), current_compiledIC(), current_ic_iterator(), follow_roots(), is_delta_frame(), oop_iterate(), print(), print_for_deoptimization(), print_name(), FlatProfiler::record_tick_for_calling_frame(), FlatProfiler::record_tick_for_running_frame(), Sweeper::register_active_frame(), should_be_deoptimized(), and SystemAverageTask::task().

Here is the call graph for this function:

bool frame::is_delta_frame (  )  const [inline]

Definition at line 182 of file frame.hpp.

References is_compiled_frame(), and is_interpreted_frame().

Referenced by delta_sender(), and is_first_delta_frame().

Here is the call graph for this function:

bool frame::is_deoptimized_frame (  )  const

Definition at line 97 of file frame.cpp.

References pc(), and unpack_unoptimized_frames().

Referenced by follow_roots(), oop_iterate(), print_for_deoptimization(), print_name(), and sender().

Here is the call graph for this function:

bool frame::is_entry_frame (  )  const

Definition at line 150 of file frame.cpp.

References pc(), and return_from_Delta().

Referenced by follow_roots(), is_first_frame(), oop_iterate(), sender(), and sender_ic_iterator().

Here is the call graph for this function:

bool frame::is_first_delta_frame (  )  const

Definition at line 170 of file frame.cpp.

References is_delta_frame(), is_first_frame(), and sender().

Here is the call graph for this function:

bool frame::is_first_frame (  )  const

Definition at line 166 of file frame.cpp.

References has_next_Delta_fp(), and is_entry_frame().

Referenced by DeltaProcess::frame_iterate(), is_first_delta_frame(), DeltaProcess::oop_iterate(), vframe::sender(), and DeltaProcess::trace_stack_for_deoptimization().

Here is the call graph for this function:

bool frame::is_interpreted_frame (  )  const

Definition at line 83 of file frame.cpp.

References Interpreter::contains(), and pc().

Referenced by convert_hcode_pointer(), current_ic_iterator(), current_interpretedIC(), follow_roots(), interpreter_super_lookup(), is_delta_frame(), layout_iterate(), method(), vframe::new_vframe(), oop_iterate(), print(), print_for_deoptimization(), print_name(), FlatProfiler::record_tick_for_calling_frame(), FlatProfiler::record_tick_for_running_frame(), Sweeper::register_active_frame(), restore_hcode_pointer(), SystemAverageTask::task(), and StubRoutines::trace_DLL_call_1().

Here is the call graph for this function:

void frame::layout_iterate ( FrameLayoutClosure blk  ) 

Definition at line 279 of file frame.cpp.

References FrameLayoutClosure::do_hp(), FrameLayoutClosure::do_link(), FrameLayoutClosure::do_receiver(), FrameLayoutClosure::do_return_addr(), FrameLayoutClosure::do_stack(), hp_addr(), is_interpreted_frame(), link_addr(), receiver_addr(), return_addr_addr(), sp(), and temp_addr().

Here is the call graph for this function:

int* frame::link (  )  const [inline]

Definition at line 105 of file frame.hpp.

References link_addr().

Referenced by cChunk::print(), and sender().

Here is the call graph for this function:

int** frame::link_addr (  )  const [inline, private]

Definition at line 92 of file frame.hpp.

References addr_at(), and frame_link_offset.

Referenced by layout_iterate(), link(), and set_link().

Here is the call graph for this function:

methodOop frame::method (  )  const

Definition at line 65 of file frame.cpp.

References as_memOop(), assert, frame_size(), hp(), is_interpreted_frame(), oopDesc::is_method(), minimum_size_for_deoptimized_frame, Universe::object_start(), and Universe::old_gen.

Referenced by current_interpretedIC(), interpreter_super_lookup(), DLLs::lookup_and_patch_InterpretedDLL_Cache(), Interpreter::loop_counter_overflow(), print(), FlatProfiler::record_tick_for_calling_frame(), FlatProfiler::record_tick_for_running_frame(), Sweeper::register_active_frame(), and StubRoutines::trace_DLL_call_1().

Here is the call graph for this function:

int * frame::next_Delta_fp (  )  const

Definition at line 158 of file frame.cpp.

References at(), and frame_next_Delta_fp_offset.

Referenced by sender().

Here is the call graph for this function:

oop * frame::next_Delta_sp (  )  const

Definition at line 162 of file frame.cpp.

References at(), and frame_next_Delta_sp_offset.

Referenced by sender().

Here is the call graph for this function:

void frame::oop_iterate ( OopClosure blk  ) 

Definition at line 328 of file frame.cpp.

References OopClosure::do_oop(), fp(), frame_array_addr(), frame_real_sender_sp_offset, has_compiled_float_marker(), has_interpreted_float_marker(), is_compiled_frame(), is_deoptimized_frame(), is_entry_frame(), is_interpreted_frame(), oop_iterate_compiled_float_frame(), oop_iterate_interpreted_float_frame(), receiver_addr(), sp(), and temp_addr().

Referenced by DeltaProcess::oop_iterate(), and verify().

Here is the call graph for this function:

bool frame::oop_iterate_compiled_float_frame ( OopClosure blk  )  [private]

Definition at line 323 of file frame.cpp.

References warning().

Referenced by oop_iterate().

Here is the call graph for this function:

bool frame::oop_iterate_interpreted_float_frame ( OopClosure blk  )  [private]

Definition at line 299 of file frame.cpp.

References addr_at(), OopClosure::do_oop(), methodOopDesc::float_section_size(), methodOopDesc::float_section_start_offset(), methodOopDesc::has_float_temporaries(), hp(), methodOopDesc::methodOop_from_hcode(), receiver_addr(), sp(), and temp_addr().

Referenced by oop_iterate().

Here is the call graph for this function:

void frame::patch_fp ( int *  fp  ) 

Definition at line 60 of file frame.cpp.

References frame_sender_sp_offset, set_link(), and sp().

Here is the call graph for this function:

void frame::patch_pc ( char *  pc  ) 

Definition at line 38 of file frame.cpp.

References sp().

Here is the call graph for this function:

char* frame::pc (  )  const [inline]

Definition at line 82 of file frame.hpp.

References _pc.

Referenced by code(), current_compiledIC(), is_compiled_frame(), is_deoptimized_frame(), is_entry_frame(), is_interpreted_frame(), DLLs::lookup_and_patch_CompiledDLL_Cache(), print(), FlatProfiler::record_tick_for_calling_frame(), FlatProfiler::record_tick_for_running_frame(), Sweeper::register_active_frame(), SystemAverageTask::task(), and StubRoutines::trace_DLL_call_1().

void frame::print (  )  const

Definition at line 185 of file frame.cpp.

References fp(), hp(), is_compiled_frame(), is_interpreted_frame(), method(), pc(), outputStream::print(), outputStream::print_cr(), print_name(), sp(), and std.

Referenced by VerifyOopClosure::do_oop(), VM_Scavenge::doit(), and vframe::print().

Here is the call graph for this function:

void frame::print_for_deoptimization ( outputStream st  ) 

Definition at line 215 of file frame.cpp.

References assert, GrowableArray< E >::at(), interpretedVFrame::bci(), outputStream::cr(), interpretedVFrame::expression_stack(), fp(), frame_array(), interpretedVFrame::interpreter_context(), is_compiled_frame(), is_deoptimized_frame(), is_interpreted_frame(), GenericGrowableArray::length(), interpretedVFrame::method(), vframe::new_vframe(), outputStream::print(), print_context_chain(), outputStream::print_cr(), oopDesc::print_value(), oopDesc::print_value_on(), and std.

Referenced by DeltaProcess::deoptimize_stretch(), and DeltaProcess::trace_stack_for_deoptimization().

Here is the call graph for this function:

char * frame::print_name (  )  const [private]

Definition at line 178 of file frame.cpp.

References is_compiled_frame(), is_deoptimized_frame(), and is_interpreted_frame().

Referenced by print().

Here is the call graph for this function:

oop* frame::real_sender_sp (  )  const [inline]

Definition at line 158 of file frame.hpp.

References real_sender_sp_addr().

Referenced by sender().

Here is the call graph for this function:

oop ** frame::real_sender_sp_addr (  )  const

Definition at line 55 of file frame.cpp.

References addr_at(), and frame_real_sender_sp_offset.

Referenced by real_sender_sp(), and set_real_sender_sp().

Here is the call graph for this function:

oop frame::receiver (  )  const [inline]

Definition at line 113 of file frame.hpp.

References receiver_addr().

Referenced by InterpretedIC::inline_cache_miss(), interpreter_super_lookup(), interpretedVFrame::receiver(), FlatProfiler::record_tick_for_calling_frame(), and FlatProfiler::record_tick_for_running_frame().

Here is the call graph for this function:

oop* frame::receiver_addr (  )  const [inline, private]

Definition at line 96 of file frame.hpp.

References addr_at(), and frame_receiver_offset.

Referenced by follow_roots(), follow_roots_interpreted_float_frame(), layout_iterate(), oop_iterate(), oop_iterate_interpreted_float_frame(), receiver(), and set_receiver().

Here is the call graph for this function:

void frame::restore_hcode_pointer (  ) 

Definition at line 451 of file frame.cpp.

References hp(), is_interpreted_frame(), MarkSweep::next_hcode_offset(), and set_hp().

Referenced by RestoreHCodePointersClosure::do_frame().

Here is the call graph for this function:

char* frame::return_addr (  )  const [inline]

Definition at line 109 of file frame.hpp.

References return_addr_addr().

Referenced by sender().

Here is the call graph for this function:

char** frame::return_addr_addr (  )  const [inline, private]

Definition at line 93 of file frame.hpp.

References addr_at(), and frame_return_addr_offset.

Referenced by layout_iterate(), return_addr(), and set_return_addr().

Here is the call graph for this function:

frame frame::sender (  )  const

Definition at line 480 of file frame.cpp.

References _fp, assert, frame(), has_next_Delta_fp(), is_deoptimized_frame(), is_entry_frame(), link(), next_Delta_fp(), next_Delta_sp(), real_sender_sp(), return_addr(), and sender_sp().

Referenced by delta_sender(), DeltaProcess::deoptimize_stretch(), DeltaProcess::frame_iterate(), is_first_delta_frame(), DeltaProcess::oop_iterate(), pd(), ps(), vframe::sender(), sender_ic_iterator(), and DeltaProcess::trace_stack_for_deoptimization().

Here is the call graph for this function:

IC_Iterator * frame::sender_ic_iterator (  )  const

Definition at line 101 of file frame.cpp.

References current_ic_iterator(), is_entry_frame(), and sender().

Here is the call graph for this function:

oop* frame::sender_sp (  )  const [inline]

Definition at line 102 of file frame.hpp.

References addr_at(), and frame_sender_sp_offset.

Referenced by frame_size(), and sender().

Here is the call graph for this function:

void frame::set_arg ( int  offset,
oop  obj 
) [inline]

Definition at line 123 of file frame.hpp.

References arg_addr().

Here is the call graph for this function:

void frame::set_frame_array ( objArrayOop  a  )  [inline]

Definition at line 156 of file frame.hpp.

References frame_array_addr().

Here is the call graph for this function:

void frame::set_hp ( u_char hp  ) 

Definition at line 33 of file frame.cpp.

References hp_addr().

Referenced by convert_hcode_pointer(), primitives::lookup_and_patch(), patch_last_delta_frame(), restore_hcode_pointer(), restore_hp(), interpretedVFrame::set_hp(), and InterpretedIC::update_inline_cache().

Here is the call graph for this function:

void frame::set_link ( int *  addr  )  [inline]

Definition at line 106 of file frame.hpp.

References link_addr().

Referenced by patch_fp().

Here is the call graph for this function:

void frame::set_real_sender_sp ( oop addr  )  [inline]

Definition at line 159 of file frame.hpp.

References real_sender_sp_addr().

Here is the call graph for this function:

void frame::set_receiver ( oop  recv  )  [inline]

Definition at line 114 of file frame.hpp.

References receiver_addr().

Referenced by interpretedVFrame::set_receiver().

Here is the call graph for this function:

void frame::set_return_addr ( char *  addr  )  [inline]

Definition at line 110 of file frame.hpp.

References return_addr_addr().

Here is the call graph for this function:

void frame::set_temp ( int  offset,
oop  obj 
) [inline]

Definition at line 118 of file frame.hpp.

References temp_addr().

Referenced by interpretedVFrame::temp_at_put().

Here is the call graph for this function:

bool frame::should_be_deoptimized (  )  const

Definition at line 501 of file frame.cpp.

References code(), outputStream::cr(), is_compiled_frame(), outputStream::print(), and std.

Here is the call graph for this function:

oop* frame::sp (  )  const [inline]

Definition at line 80 of file frame.hpp.

References _sp.

Referenced by cChunk::callee_argument_at(), expr(), interpretedVFrame::expression_addr(), follow_roots(), follow_roots_interpreted_float_frame(), frame(), frame_size(), layout_iterate(), oop_iterate(), oop_iterate_interpreted_float_frame(), patch_fp(), patch_pc(), print(), and verify().

oop frame::temp ( int  offset  )  const [inline]

Definition at line 117 of file frame.hpp.

References temp_addr().

Referenced by interpretedVFrame::interpreter_context(), and interpretedVFrame::temp_at().

Here is the call graph for this function:

oop* frame::temp_addr ( int  offset  )  const [inline]

Definition at line 119 of file frame.hpp.

References addr_at(), and frame_temp_offset.

Referenced by interpretedVFrame::expression_stack(), follow_roots(), follow_roots_interpreted_float_frame(), layout_iterate(), oop_iterate(), oop_iterate_interpreted_float_frame(), set_temp(), and temp().

Here is the call graph for this function:

void frame::verify (  )  const

Definition at line 472 of file frame.cpp.

References fatal, fp(), VerifyOopClosure::fr, oop_iterate(), and sp().

Referenced by deltaVFrame::verify().

Here is the call graph for this function:


Member Data Documentation

int* frame::_fp [private]

Definition at line 63 of file frame.hpp.

Referenced by fp(), frame(), and sender().

char* frame::_pc [private]

Definition at line 64 of file frame.hpp.

Referenced by frame(), and pc().

oop* frame::_sp [private]

Definition at line 62 of file frame.hpp.

Referenced by frame(), and sp().


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 13:58:38 2006 for Strongtalk VM by  doxygen 1.4.7