ExpressionStackMapper Class Reference

Inheritance diagram for ExpressionStackMapper:

Inheritance graph
[legend]
Collaboration diagram for ExpressionStackMapper:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ExpressionStackMapper (GrowableArray< int > *mapping, int target_bci)
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 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 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 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 allocate_context (int nofTemps, bool forMethod=false)
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 map_push ()
void map_push (int b)
void map_pop ()
void map_send (bool has_receiver, int number_of_arguments)

Private Attributes

GrowableArray< int > * mapping
int target_bci

Detailed Description

Definition at line 550 of file methodOop.cpp.


Constructor & Destructor Documentation

ExpressionStackMapper::ExpressionStackMapper ( GrowableArray< int > *  mapping,
int  target_bci 
) [inline]

Definition at line 582 of file methodOop.cpp.


Member Function Documentation

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

Implements MethodClosure.

Definition at line 612 of file methodOop.cpp.

void ExpressionStackMapper::allocate_context ( int  nofTemps,
bool  forMethod = false 
) [inline, virtual]

Implements MethodClosure.

Definition at line 634 of file methodOop.cpp.

void ExpressionStackMapper::allocate_temporaries ( int  nofTemps  )  [inline, virtual]

Implements MethodClosure.

Definition at line 625 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 670 of file methodOop.cpp.

References MethodClosure::abort(), CondNode::expr_code(), MethodInterval::includes(), map_pop(), and target_bci.

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 637 of file methodOop.cpp.

void ExpressionStackMapper::copy_self_into_context (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 636 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 706 of file methodOop.cpp.

void ExpressionStackMapper::double_equal (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 606 of file methodOop.cpp.

References map_send().

Here is the call graph for this function:

void ExpressionStackMapper::double_not_equal (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 607 of file methodOop.cpp.

References map_pop().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 640 of file methodOop.cpp.

References map_pop().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 646 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 648 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 641 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 642 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 644 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 643 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 645 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 647 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 652 of file methodOop.cpp.

References MethodClosure::abort(), IfNode::else_code(), MethodInterval::includes(), map_pop(), target_bci, and IfNode::then_code().

Here is the call graph for this function:

void ExpressionStackMapper::map_pop (  )  [inline, private]

Definition at line 566 of file methodOop.cpp.

References MethodClosure::abort().

Referenced by cond_node(), double_not_equal(), float_allocate(), if_node(), method_return(), and push_global().

Here is the call graph for this function:

void ExpressionStackMapper::map_push ( int  b  )  [inline, private]

Definition at line 557 of file methodOop.cpp.

References MethodClosure::abort().

Here is the call graph for this function:

void ExpressionStackMapper::map_push (  )  [inline, private]

Definition at line 555 of file methodOop.cpp.

Referenced by float_binary(), float_unaryToOop(), push_argument(), push_classVar(), push_classVar_name(), push_instVar(), push_instVar_name(), push_literal(), push_self(), push_temporary(), and push_tos().

void ExpressionStackMapper::map_send ( bool  has_receiver,
int  number_of_arguments 
) [inline, private]

Definition at line 575 of file methodOop.cpp.

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

void ExpressionStackMapper::method_return ( int  nofArgs  )  [inline, virtual]

Implements MethodClosure.

Definition at line 609 of file methodOop.cpp.

References map_pop().

Here is the call graph for this function:

void ExpressionStackMapper::nonlocal_return ( int  nofArgs  )  [inline, virtual]

Implements MethodClosure.

Definition at line 610 of file methodOop.cpp.

void ExpressionStackMapper::normal_send ( InterpretedIC ic  )  [inline, virtual]

Implements MethodClosure.

Definition at line 602 of file methodOop.cpp.

References map_send(), byteArrayOopDesc::number_of_arguments(), and InterpretedIC::selector().

Here is the call graph for this function:

void ExpressionStackMapper::pop (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 600 of file methodOop.cpp.

References map_send(), byteArrayOopDesc::number_of_arguments(), and InterpretedIC::selector().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 639 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 695 of file methodOop.cpp.

void ExpressionStackMapper::push_argument ( int  no  )  [inline, virtual]

Implements MethodClosure.

Definition at line 590 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_classVar ( associationOop  assoc  )  [inline, virtual]

Implements MethodClosure.

Definition at line 595 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_classVar_name ( symbolOop  name  )  [inline, virtual]

Implements MethodClosure.

Definition at line 596 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_global ( associationOop  obj  )  [inline, virtual]

Implements MethodClosure.

Definition at line 598 of file methodOop.cpp.

References map_pop().

Here is the call graph for this function:

void ExpressionStackMapper::push_instVar ( int  offset  )  [inline, virtual]

Implements MethodClosure.

Definition at line 593 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_instVar_name ( symbolOop  name  )  [inline, virtual]

Implements MethodClosure.

Definition at line 594 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_literal ( oop  obj  )  [inline, virtual]

Implements MethodClosure.

Definition at line 589 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_self (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 587 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 592 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_temporary ( int  no  )  [inline, virtual]

Implements MethodClosure.

Definition at line 591 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::push_tos (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 588 of file methodOop.cpp.

References map_push().

Here is the call graph for this function:

void ExpressionStackMapper::self_send ( InterpretedIC ic  )  [inline, virtual]

Implements MethodClosure.

Definition at line 603 of file methodOop.cpp.

References map_send(), byteArrayOopDesc::number_of_arguments(), and InterpretedIC::selector().

Here is the call graph for this function:

void ExpressionStackMapper::set_self_via_context (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 635 of file methodOop.cpp.

void ExpressionStackMapper::store_classVar ( associationOop  assoc  )  [inline, virtual]

Implements MethodClosure.

Definition at line 630 of file methodOop.cpp.

void ExpressionStackMapper::store_classVar_name ( symbolOop  name  )  [inline, virtual]

Implements MethodClosure.

Definition at line 631 of file methodOop.cpp.

void ExpressionStackMapper::store_global ( associationOop  obj  )  [inline, virtual]

Implements MethodClosure.

Definition at line 633 of file methodOop.cpp.

void ExpressionStackMapper::store_instVar ( int  offset  )  [inline, virtual]

Implements MethodClosure.

Definition at line 628 of file methodOop.cpp.

void ExpressionStackMapper::store_instVar_name ( symbolOop  name  )  [inline, virtual]

Implements MethodClosure.

Definition at line 629 of file methodOop.cpp.

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

Implements MethodClosure.

Definition at line 627 of file methodOop.cpp.

void ExpressionStackMapper::store_temporary ( int  no  )  [inline, virtual]

Implements MethodClosure.

Definition at line 626 of file methodOop.cpp.

void ExpressionStackMapper::super_send ( InterpretedIC ic  )  [inline, virtual]

Implements MethodClosure.

Definition at line 604 of file methodOop.cpp.

References map_send().

Here is the call graph for this function:

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

Implements MethodClosure.

Definition at line 684 of file methodOop.cpp.

References MethodClosure::abort(), WhileNode::body_code(), WhileNode::expr_code(), MethodInterval::includes(), and target_bci.

Here is the call graph for this function:

void ExpressionStackMapper::zap_scope (  )  [inline, virtual]

Implements MethodClosure.

Definition at line 638 of file methodOop.cpp.


Member Data Documentation

GrowableArray<int>* ExpressionStackMapper::mapping [private]

Definition at line 552 of file methodOop.cpp.

int ExpressionStackMapper::target_bci [private]

Definition at line 553 of file methodOop.cpp.

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


The documentation for this class was generated from the following file:
Generated on Mon Oct 9 13:57:21 2006 for Strongtalk VM by  doxygen 1.4.7