MethodClosure Class Reference

#include <methodIterator.hpp>

Inheritance diagram for MethodClosure:

Inheritance graph
[legend]
Collaboration diagram for MethodClosure:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int bci () const
int next_bci () const
methodOop method () const
bool aborting () const
virtual void if_node (IfNode *node)=0
virtual void cond_node (CondNode *node)=0
virtual void while_node (WhileNode *node)=0
virtual void primitive_call_node (PrimitiveCallNode *node)=0
virtual void dll_call_node (DLLCallNode *node)=0
virtual bool in_prim_failure_block () const
virtual void set_prim_failure (bool f)
virtual void allocate_temporaries (int nofTemps)=0
virtual void push_self ()=0
virtual void push_tos ()=0
virtual void push_literal (oop obj)=0
virtual void push_argument (int no)=0
virtual void push_temporary (int no)=0
virtual void push_temporary (int no, int context)=0
virtual void push_instVar (int offset)=0
virtual void push_instVar_name (symbolOop name)=0
virtual void push_classVar (associationOop assoc)=0
virtual void push_classVar_name (symbolOop name)=0
virtual void push_global (associationOop obj)=0
virtual void store_temporary (int no)=0
virtual void store_temporary (int no, int context)=0
virtual void store_instVar (int offset)=0
virtual void store_instVar_name (symbolOop name)=0
virtual void store_classVar (associationOop assoc)=0
virtual void store_classVar_name (symbolOop name)=0
virtual void store_global (associationOop obj)=0
virtual void pop ()=0
virtual void normal_send (InterpretedIC *ic)=0
virtual void self_send (InterpretedIC *ic)=0
virtual void super_send (InterpretedIC *ic)=0
virtual void double_equal ()=0
virtual void double_not_equal ()=0
virtual void method_return (int nofArgs)=0
virtual void nonlocal_return (int nofArgs)=0
virtual void allocate_closure (AllocationType type, int nofArgs, methodOop meth)=0
virtual void allocate_context (int nofTemps, bool forMethod)=0
virtual void set_self_via_context ()=0
virtual void copy_self_into_context ()=0
virtual void copy_argument_into_context (int argNo, int no)=0
virtual void zap_scope ()=0
virtual void predict_prim_call (primitive_desc *pdesc, int failure_start)=0
virtual void float_allocate (int nofFloatTemps, int nofFloatExprs)=0
virtual void float_floatify (Floats::Function f, int fno)=0
virtual void float_move (int fno, int from)=0
virtual void float_set (int fno, doubleOop value)=0
virtual void float_nullary (Floats::Function f, int fno)=0
virtual void float_unary (Floats::Function f, int fno)=0
virtual void float_binary (Floats::Function f, int fno)=0
virtual void float_unaryToOop (Floats::Function f, int fno)=0
virtual void float_binaryToOop (Floats::Function f, int fno)=0

Protected Member Functions

 MethodClosure ()
virtual void abort ()
virtual void un_abort ()

Private Member Functions

void set_method (methodOop method)
void set_bci (int bci)
void set_next_bci (int next_bci)
int float_at (int index)

Private Attributes

methodOop _method
int _bci
int _next_bci
bool _aborting
bool _in_prim_failure
int _float0_index

Friends

class MethodIterator

Detailed Description

Definition at line 261 of file methodIterator.hpp.


Constructor & Destructor Documentation

MethodClosure::MethodClosure (  )  [protected]

Definition at line 232 of file methodIterator.cpp.

References _aborting, _bci, _float0_index, _in_prim_failure, _method, and _next_bci.


Member Function Documentation

virtual void MethodClosure::abort (  )  [inline, protected, virtual]

Definition at line 278 of file methodIterator.hpp.

References _aborting.

Referenced by ExpressionStackMapper::cond_node(), ExpressionStackMapper::if_node(), ExpressionStackMapper::map_pop(), ExpressionStackMapper::map_push(), and ExpressionStackMapper::while_node().

bool MethodClosure::aborting (  )  const [inline]

Definition at line 287 of file methodIterator.hpp.

References _aborting.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::allocate_closure ( AllocationType  type,
int  nofArgs,
methodOop  meth 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, BlockFinderClosure, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::allocate_context ( int  nofTemps,
bool  forMethod 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, ContextMethodIterator, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::allocate_temporaries ( int  nofTemps  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

int MethodClosure::bci (  )  const [inline]

Definition at line 284 of file methodIterator.hpp.

References _bci.

Referenced by MethodPrettyPrinter::dll_call_node(), MethodPrettyPrinter::float_binary(), MethodPrettyPrinter::float_binaryToOop(), MethodPrettyPrinter::float_move(), MethodPrettyPrinter::float_unary(), MethodPrettyPrinter::float_unaryToOop(), MethodPrettyPrinter::generateInlineBlock(), MethodPrinterClosure::indent(), MethodPrettyPrinter::method_return(), MethodPrettyPrinter::nonlocal_return(), MethodPrettyPrinter::normal_send(), MethodPrettyPrinter::pop(), MethodPrettyPrinter::primitive_call_node(), MethodPrettyPrinter::push_argument(), MethodPrettyPrinter::push_classVar(), MethodPrettyPrinter::push_classVar_name(), MethodPrettyPrinter::push_global(), MethodPrettyPrinter::push_instVar(), MethodPrettyPrinter::push_instVar_name(), MethodPrettyPrinter::push_literal(), MethodPrettyPrinter::push_self(), MethodPrettyPrinter::push_temporary(), MethodPrettyPrinter::self_send(), MethodPrettyPrinter::special_send(), MethodPrettyPrinter::store(), MethodPrettyPrinter::store_classVar(), MethodPrettyPrinter::store_classVar_name(), MethodPrettyPrinter::store_global(), MethodPrettyPrinter::store_instVar(), MethodPrettyPrinter::store_instVar_name(), MethodPrettyPrinter::store_temporary(), and MethodPrettyPrinter::super_send().

virtual void MethodClosure::cond_node ( CondNode node  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::copy_argument_into_context ( int  argNo,
int  no 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::copy_self_into_context (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, ContextMethodIterator, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::dll_call_node ( DLLCallNode node  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::double_equal (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::double_not_equal (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_allocate ( int  nofFloatTemps,
int  nofFloatExprs 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

int MethodClosure::float_at ( int  index  )  [private]

Definition at line 246 of file methodIterator.cpp.

References _float0_index, and assert.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_binary ( Floats::Function  f,
int  fno 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_binaryToOop ( Floats::Function  f,
int  fno 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_floatify ( Floats::Function  f,
int  fno 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_move ( int  fno,
int  from 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_nullary ( Floats::Function  f,
int  fno 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_set ( int  fno,
doubleOop  value 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_unary ( Floats::Function  f,
int  fno 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::float_unaryToOop ( Floats::Function  f,
int  fno 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::if_node ( IfNode node  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual bool MethodClosure::in_prim_failure_block (  )  const [inline, virtual]

Definition at line 299 of file methodIterator.hpp.

References _in_prim_failure.

Referenced by MethodIterator::dispatch().

methodOop MethodClosure::method (  )  const [inline]

Definition at line 286 of file methodIterator.hpp.

References _method.

Referenced by MethodPrinterClosure::indent(), and set_method().

virtual void MethodClosure::method_return ( int  nofArgs  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

int MethodClosure::next_bci (  )  const [inline]

Definition at line 285 of file methodIterator.hpp.

References _next_bci.

virtual void MethodClosure::nonlocal_return ( int  nofArgs  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::normal_send ( InterpretedIC ic  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::pop (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::predict_prim_call ( primitive_desc pdesc,
int  failure_start 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::primitive_call_node ( PrimitiveCallNode node  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_argument ( int  no  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_classVar ( associationOop  assoc  )  [pure virtual]

Implemented in CustomizedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedClassVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_classVar_name ( symbolOop  name  )  [pure virtual]

Implemented in CustomizedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedClassVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_global ( associationOop  obj  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedGlobalsClosure.

Referenced by MethodIterator::dispatch(), and CustomizedMethodClosure::push_classVar().

virtual void MethodClosure::push_instVar ( int  offset  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedInstVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_instVar_name ( symbolOop  name  )  [pure virtual]

Implemented in CustomizedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedInstVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_literal ( oop  obj  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_self (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_temporary ( int  no,
int  context 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

virtual void MethodClosure::push_temporary ( int  no  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::push_tos (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::self_send ( InterpretedIC ic  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

void MethodClosure::set_bci ( int  bci  )  [inline, private]

Definition at line 271 of file methodIterator.hpp.

References _bci.

Referenced by MethodIterator::dispatch().

void MethodClosure::set_method ( methodOop  method  )  [private]

Definition at line 240 of file methodIterator.cpp.

References _float0_index, _method, assert, methodOopDesc::has_float_temporaries(), method(), and methodOopDesc::number_of_stack_temporaries().

Referenced by MethodIterator::dispatch().

Here is the call graph for this function:

void MethodClosure::set_next_bci ( int  next_bci  )  [inline, private]

Definition at line 272 of file methodIterator.hpp.

References _next_bci.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::set_prim_failure ( bool  f  )  [inline, virtual]

Definition at line 300 of file methodIterator.hpp.

References _in_prim_failure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::set_self_via_context (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::store_classVar ( associationOop  assoc  )  [pure virtual]

Implemented in CustomizedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedClassVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::store_classVar_name ( symbolOop  name  )  [pure virtual]

Implemented in CustomizedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedClassVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::store_global ( associationOop  obj  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedGlobalsClosure.

Referenced by MethodIterator::dispatch(), and CustomizedMethodClosure::store_classVar().

virtual void MethodClosure::store_instVar ( int  offset  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedInstVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::store_instVar_name ( symbolOop  name  )  [pure virtual]

Implemented in CustomizedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and ReferencedInstVarNamesClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::store_temporary ( int  no,
int  context 
) [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

virtual void MethodClosure::store_temporary ( int  no  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::super_send ( InterpretedIC ic  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, TransitiveMethodClosure, and SendersClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::un_abort (  )  [inline, protected, virtual]

Definition at line 279 of file methodIterator.hpp.

References _aborting.

virtual void MethodClosure::while_node ( WhileNode node  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().

virtual void MethodClosure::zap_scope (  )  [pure virtual]

Implemented in SpecializedMethodClosure, MethodPrinterClosure, MethodPrettyPrinter, ExpressionStackMapper, and TransitiveMethodClosure.

Referenced by MethodIterator::dispatch().


Friends And Related Function Documentation

friend class MethodIterator [friend]

Definition at line 281 of file methodIterator.hpp.


Member Data Documentation

bool MethodClosure::_aborting [private]

Definition at line 266 of file methodIterator.hpp.

Referenced by abort(), aborting(), MethodClosure(), and un_abort().

int MethodClosure::_bci [private]

Definition at line 264 of file methodIterator.hpp.

Referenced by bci(), MethodClosure(), and set_bci().

int MethodClosure::_float0_index [private]

Definition at line 268 of file methodIterator.hpp.

Referenced by float_at(), MethodClosure(), and set_method().

bool MethodClosure::_in_prim_failure [private]

Definition at line 267 of file methodIterator.hpp.

Referenced by in_prim_failure_block(), MethodClosure(), and set_prim_failure().

methodOop MethodClosure::_method [private]

Definition at line 263 of file methodIterator.hpp.

Referenced by method(), MethodClosure(), and set_method().

int MethodClosure::_next_bci [private]

Definition at line 265 of file methodIterator.hpp.

Referenced by MethodClosure(), next_bci(), and set_next_bci().


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