StackChunkBuilder Class Reference

#include <stackChunk.hpp>

Inheritance diagram for StackChunkBuilder:

Inheritance graph
[legend]
Collaboration diagram for StackChunkBuilder:

Collaboration graph
[legend]
List of all members.

Public Types

 number_of_vframes_index = 1
 number_of_locals_index = 2
 first_frame_index = 3
enum  { number_of_vframes_index = 1, number_of_locals_index = 2, first_frame_index = 3 }

Public Member Functions

 StackChunkBuilder (int *fp, int size=100)
 ~StackChunkBuilder ()
void append (deltaVFrame *f)
objArrayOop as_objArray ()

Static Public Member Functions

static void begin_deoptimization ()
static void end_deoptimization ()
static bool is_deoptimizing ()
static void context_at_put (const compiledVFrame *frame, contextOop con)
static contextOop context_at (const compiledVFrame *frame)

Static Private Member Functions

static int header_size ()

Private Attributes

int number_of_vframes
int number_of_locals
GrowableArray< oop > * array

Static Private Attributes

static int * frame_pointer = NULL
static bool _is_deoptimizing = false

Detailed Description

Definition at line 31 of file stackChunk.hpp.


Member Enumeration Documentation

anonymous enum

Enumerator:
number_of_vframes_index 
number_of_locals_index 
first_frame_index 

Definition at line 55 of file stackChunk.hpp.


Constructor & Destructor Documentation

StackChunkBuilder::StackChunkBuilder ( int *  fp,
int  size = 100 
)

Definition at line 34 of file stackChunk.cpp.

References array, frame_pointer, number_of_locals, and number_of_vframes.

StackChunkBuilder::~StackChunkBuilder (  ) 

Definition at line 41 of file stackChunk.cpp.


Member Function Documentation

void StackChunkBuilder::append ( deltaVFrame f  ) 

Definition at line 44 of file stackChunk.cpp.

References array, as_smiOop(), GrowableArray< E >::at(), deltaVFrame::bci(), deltaVFrame::canonical_context(), deltaVFrame::expression_stack(), frame_pointer, methodOopDesc::is_blockMethod(), vframe::is_compiled_frame(), GenericGrowableArray::length(), deltaVFrame::method(), number_of_locals, methodOopDesc::number_of_stack_temporaries(), number_of_vframes, deltaVFrame::receiver(), deltaVFrame::temp_at(), Processes::update_nlr_targets(), and methodOopDesc::verify_context().

Here is the call graph for this function:

objArrayOop StackChunkBuilder::as_objArray (  ) 

Definition at line 89 of file stackChunk.cpp.

References array, as_smiOop(), header_size(), oopFactory::new_objArray(), number_of_locals, number_of_vframes, and objArrayOopDesc::obj_at_put().

Here is the call graph for this function:

void StackChunkBuilder::begin_deoptimization (  )  [static]

Definition at line 129 of file stackChunk.cpp.

References _is_deoptimizing, assert, contexts, frames, and is_deoptimizing().

Referenced by blockClosureOopDesc::deoptimize().

Here is the call graph for this function:

contextOop StackChunkBuilder::context_at ( const compiledVFrame *  frame  )  [static]

Definition at line 116 of file stackChunk.cpp.

References contexts, frames, and is_deoptimizing().

Here is the call graph for this function:

void StackChunkBuilder::context_at_put ( const compiledVFrame *  frame,
contextOop  con 
) [static]

Definition at line 99 of file stackChunk.cpp.

References assert, contexts, frame_pointer, frames, is_deoptimizing(), contextOopDesc::kill(), and contextOopDesc::set_home_fp().

Here is the call graph for this function:

void StackChunkBuilder::end_deoptimization (  )  [static]

Definition at line 136 of file stackChunk.cpp.

References _is_deoptimizing, assert, contexts, frames, and is_deoptimizing().

Referenced by blockClosureOopDesc::deoptimize().

Here is the call graph for this function:

static int StackChunkBuilder::header_size (  )  [inline, static, private]

Definition at line 39 of file stackChunk.hpp.

Referenced by as_objArray().

static bool StackChunkBuilder::is_deoptimizing (  )  [inline, static]

Definition at line 64 of file stackChunk.hpp.

References _is_deoptimizing.

Referenced by begin_deoptimization(), context_at(), context_at_put(), blockClosureOopDesc::deoptimize(), and end_deoptimization().


Member Data Documentation

bool StackChunkBuilder::_is_deoptimizing = false [static, private]

Definition at line 40 of file stackChunk.hpp.

Referenced by begin_deoptimization(), end_deoptimization(), and is_deoptimizing().

GrowableArray<oop>* StackChunkBuilder::array [private]

Definition at line 42 of file stackChunk.hpp.

Referenced by append(), as_objArray(), and StackChunkBuilder().

int * StackChunkBuilder::frame_pointer = NULL [static, private]

Definition at line 37 of file stackChunk.hpp.

Referenced by append(), context_at_put(), and StackChunkBuilder().

int StackChunkBuilder::number_of_locals [private]

Definition at line 36 of file stackChunk.hpp.

Referenced by append(), as_objArray(), and StackChunkBuilder().

int StackChunkBuilder::number_of_vframes [private]

Definition at line 35 of file stackChunk.hpp.

Referenced by append(), as_objArray(), and StackChunkBuilder().


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