#include <methodIterator.hpp>
Inheritance diagram for MethodClosure:
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 |
Definition at line 261 of file methodIterator.hpp.
MethodClosure::MethodClosure | ( | ) | [protected] |
Definition at line 232 of file methodIterator.cpp.
References _aborting, _bci, _float0_index, _in_prim_failure, _method, and _next_bci.
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] |
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] |
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().
friend class MethodIterator [friend] |
Definition at line 281 of file methodIterator.hpp.
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().