MethodPrinterClosure Class Reference

#include <methodPrinter.hpp>

Inheritance diagram for MethodPrinterClosure:

Inheritance graph
[legend]
Collaboration diagram for MethodPrinterClosure:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

Private Member Functions

void print_sendtype (Bytecodes::SendType type)
void show (char *str)
void indent ()

Private Attributes

outputStreamst

Detailed Description

Definition at line 31 of file methodPrinter.hpp.


Constructor & Destructor Documentation

MethodPrinterClosure::MethodPrinterClosure ( outputStream stream = NULL  ) 

Definition at line 27 of file methodPrinter.cpp.

References st, and std.

Referenced by allocate_closure().


Member Function Documentation

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

Implements MethodClosure.

Definition at line 290 of file methodPrinter.cpp.

References context_as_scope, outputStream::dec(), outputStream::inc(), indent(), MethodPrinterClosure(), outputStream::print(), outputStream::print_cr(), st, and tos_as_scope.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 310 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::allocate_temporaries ( int  nofTemps  )  [virtual]

Implements MethodClosure.

Definition at line 121 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::cond_node ( CondNode node  )  [virtual]

Implements MethodClosure.

Definition at line 75 of file methodPrinter.cpp.

References outputStream::cr(), CondNode::expr_code(), indent(), symbolOopDesc::print_symbol_on(), InlineSendNode::selector(), show(), and st.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 326 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::copy_self_into_context (  )  [virtual]

Implements MethodClosure.

Definition at line 321 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::dll_call_node ( DLLCallNode node  )  [virtual]

Implements MethodClosure.

Definition at line 106 of file methodPrinter.cpp.

References DLLCallNode::dll_name(), ExternalCallNode::failure_code(), DLLCallNode::function_name(), indent(), DLLCallNode::nofArgs(), outputStream::print(), outputStream::print_cr(), symbolOopDesc::print_symbol_on(), show(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::double_equal (  )  [virtual]

Implements MethodClosure.

Definition at line 270 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::double_not_equal (  )  [virtual]

Implements MethodClosure.

Definition at line 275 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 341 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_binary ( Floats::Function  f,
int  tof 
) [virtual]

Implements MethodClosure.

Definition at line 377 of file methodPrinter.cpp.

References indent(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value_on(), Floats::selector_for(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_binaryToOop ( Floats::Function  f,
int  tof 
) [virtual]

Implements MethodClosure.

Definition at line 391 of file methodPrinter.cpp.

References indent(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value_on(), Floats::selector_for(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_floatify ( Floats::Function  f,
int  tof 
) [virtual]

Implements MethodClosure.

Definition at line 346 of file methodPrinter.cpp.

References indent(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value_on(), Floats::selector_for(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_move ( int  tof,
int  from 
) [virtual]

Implements MethodClosure.

Definition at line 353 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_nullary ( Floats::Function  f,
int  tof 
) [virtual]

Implements MethodClosure.

Definition at line 363 of file methodPrinter.cpp.

References indent(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value_on(), Floats::selector_for(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_set ( int  tof,
doubleOop  value 
) [virtual]

Implements MethodClosure.

Definition at line 358 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), st, and doubleOopDesc::value().

Here is the call graph for this function:

void MethodPrinterClosure::float_unary ( Floats::Function  f,
int  tof 
) [virtual]

Implements MethodClosure.

Definition at line 370 of file methodPrinter.cpp.

References indent(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value_on(), Floats::selector_for(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::float_unaryToOop ( Floats::Function  f,
int  tof 
) [virtual]

Implements MethodClosure.

Definition at line 384 of file methodPrinter.cpp.

References indent(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value_on(), Floats::selector_for(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::if_node ( IfNode node  )  [virtual]

Implements MethodClosure.

Definition at line 63 of file methodPrinter.cpp.

References IfNode::else_code(), MethodInterval::end_bci(), IfNode::ignore_else_while_printing(), indent(), outputStream::print_cr(), symbolOopDesc::print_symbol_on(), IfNode::selector(), show(), st, and IfNode::then_code().

Here is the call graph for this function:

void MethodPrinterClosure::indent (  )  [private]

Definition at line 31 of file methodPrinter.cpp.

References GrowableArray< E >::at(), MethodClosure::bci(), methodOopDesc::expression_stack_mapping(), outputStream::indent(), GenericGrowableArray::length(), MethodClosure::method(), outputStream::print(), outputStream::print_cr(), st, and WizardMode.

Referenced by allocate_closure(), allocate_context(), allocate_temporaries(), cond_node(), copy_argument_into_context(), copy_self_into_context(), dll_call_node(), double_equal(), double_not_equal(), float_allocate(), float_binary(), float_binaryToOop(), float_floatify(), float_move(), float_nullary(), float_set(), float_unary(), float_unaryToOop(), if_node(), method_return(), nonlocal_return(), normal_send(), pop(), predict_prim_call(), primitive_call_node(), push_argument(), push_classVar(), push_classVar_name(), push_global(), push_instVar(), push_instVar_name(), push_literal(), push_self(), push_temporary(), push_tos(), self_send(), set_self_via_context(), store_classVar(), store_classVar_name(), store_global(), store_instVar(), store_instVar_name(), store_temporary(), super_send(), while_node(), and zap_scope().

Here is the call graph for this function:

void MethodPrinterClosure::method_return ( int  nofArgs  )  [virtual]

Implements MethodClosure.

Definition at line 280 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::nonlocal_return ( int  nofArgs  )  [virtual]

Implements MethodClosure.

Definition at line 285 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::normal_send ( InterpretedIC ic  )  [virtual]

Implements MethodClosure.

Definition at line 239 of file methodPrinter.cpp.

References assert_symbol, outputStream::cr(), indent(), Universe::is_heap(), oopDesc::is_smi(), outputStream::print(), print_sendtype(), oopDesc::print_value_on(), InterpretedIC::selector(), InterpretedIC::send_type(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::pop (  )  [virtual]

Implements MethodClosure.

Definition at line 234 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 336 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::primitive_call_node ( PrimitiveCallNode node  )  [virtual]

Implements MethodClosure.

Definition at line 96 of file methodPrinter.cpp.

References ExternalCallNode::failure_code(), indent(), primitive_desc::name(), PrimitiveCallNode::pdesc(), outputStream::print_cr(), show(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::print_sendtype ( Bytecodes::SendType  type  )  [private]

Definition at line 49 of file methodPrinter.cpp.

References Bytecodes::accessor_send, Bytecodes::compiled_send, Bytecodes::interpreted_send, Bytecodes::megamorphic_send, Bytecodes::polymorphic_send, Bytecodes::predicted_send, outputStream::print(), ShouldNotReachHere, and st.

Referenced by normal_send(), self_send(), and super_send().

Here is the call graph for this function:

void MethodPrinterClosure::push_argument ( int  no  )  [virtual]

Implements MethodClosure.

Definition at line 143 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_classVar ( associationOop  assoc  )  [virtual]

Implements MethodClosure.

Definition at line 170 of file methodPrinter.cpp.

References outputStream::cr(), indent(), associationOopDesc::key(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_classVar_name ( symbolOop  name  )  [virtual]

Implements MethodClosure.

Definition at line 177 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_global ( associationOop  obj  )  [virtual]

Implements MethodClosure.

Definition at line 184 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_instVar ( int  offset  )  [virtual]

Implements MethodClosure.

Definition at line 158 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_instVar_name ( symbolOop  name  )  [virtual]

Implements MethodClosure.

Definition at line 163 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_literal ( oop  obj  )  [virtual]

Implements MethodClosure.

Definition at line 136 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_self (  )  [virtual]

Implements MethodClosure.

Definition at line 126 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 153 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_temporary ( int  no  )  [virtual]

Implements MethodClosure.

Definition at line 148 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::push_tos (  )  [virtual]

Implements MethodClosure.

Definition at line 131 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::self_send ( InterpretedIC ic  )  [virtual]

Implements MethodClosure.

Definition at line 254 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), print_sendtype(), oopDesc::print_value_on(), InterpretedIC::selector(), InterpretedIC::send_type(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::set_self_via_context (  )  [virtual]

Implements MethodClosure.

Definition at line 315 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::show ( char *  str  )  [private]

Definition at line 44 of file methodPrinter.cpp.

References outputStream::indent(), outputStream::print_cr(), and st.

Referenced by cond_node(), dll_call_node(), if_node(), primitive_call_node(), and while_node().

Here is the call graph for this function:

void MethodPrinterClosure::store_classVar ( associationOop  assoc  )  [virtual]

Implements MethodClosure.

Definition at line 213 of file methodPrinter.cpp.

References outputStream::cr(), indent(), associationOopDesc::key(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::store_classVar_name ( symbolOop  name  )  [virtual]

Implements MethodClosure.

Definition at line 220 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::store_global ( associationOop  obj  )  [virtual]

Implements MethodClosure.

Definition at line 227 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::store_instVar ( int  offset  )  [virtual]

Implements MethodClosure.

Definition at line 201 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::store_instVar_name ( symbolOop  name  )  [virtual]

Implements MethodClosure.

Definition at line 206 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), oopDesc::print_value_on(), and st.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 196 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::store_temporary ( int  no  )  [virtual]

Implements MethodClosure.

Definition at line 191 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::super_send ( InterpretedIC ic  )  [virtual]

Implements MethodClosure.

Definition at line 262 of file methodPrinter.cpp.

References outputStream::cr(), indent(), outputStream::print(), print_sendtype(), oopDesc::print_value_on(), InterpretedIC::selector(), InterpretedIC::send_type(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::while_node ( WhileNode node  )  [virtual]

Implements MethodClosure.

Definition at line 84 of file methodPrinter.cpp.

References WhileNode::body_code(), MethodInterval::end_bci(), WhileNode::expr_code(), indent(), outputStream::print_cr(), symbolOopDesc::print_symbol_on(), WhileNode::selector(), show(), and st.

Here is the call graph for this function:

void MethodPrinterClosure::zap_scope (  )  [virtual]

Implements MethodClosure.

Definition at line 331 of file methodPrinter.cpp.

References indent(), outputStream::print_cr(), and st.

Here is the call graph for this function:


Member Data Documentation

outputStream* MethodPrinterClosure::st [private]

Definition at line 33 of file methodPrinter.hpp.

Referenced by allocate_closure(), allocate_context(), allocate_temporaries(), cond_node(), copy_argument_into_context(), copy_self_into_context(), dll_call_node(), double_equal(), double_not_equal(), float_allocate(), float_binary(), float_binaryToOop(), float_floatify(), float_move(), float_nullary(), float_set(), float_unary(), float_unaryToOop(), if_node(), indent(), method_return(), MethodPrinterClosure(), nonlocal_return(), normal_send(), pop(), predict_prim_call(), primitive_call_node(), print_sendtype(), push_argument(), push_classVar(), push_classVar_name(), push_global(), push_instVar(), push_instVar_name(), push_literal(), push_self(), push_temporary(), push_tos(), self_send(), set_self_via_context(), show(), store_classVar(), store_classVar_name(), store_global(), store_instVar(), store_instVar_name(), store_temporary(), super_send(), while_node(), and zap_scope().


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