src/share/vm/opto/matcher.hpp

changeset 5539
adb9a7d94cb5
parent 4159
8e47bac5643a
child 5791
c9ccd7b85f20
     1.1 --- a/src/share/vm/opto/matcher.hpp	Thu Aug 15 11:59:19 2013 -0700
     1.2 +++ b/src/share/vm/opto/matcher.hpp	Fri Aug 16 10:23:55 2013 +0200
     1.3 @@ -88,7 +88,7 @@
     1.4  
     1.5    Node *transform( Node *dummy );
     1.6  
     1.7 -  Node_List &_proj_list;        // For Machine nodes killing many values
     1.8 +  Node_List _projection_list;        // For Machine nodes killing many values
     1.9  
    1.10    Node_Array _shared_nodes;
    1.11  
    1.12 @@ -183,10 +183,30 @@
    1.13    void collect_null_checks( Node *proj, Node *orig_proj );
    1.14    void validate_null_checks( );
    1.15  
    1.16 -  Matcher( Node_List &proj_list );
    1.17 +  Matcher();
    1.18 +
    1.19 +  // Get a projection node at position pos
    1.20 +  Node* get_projection(uint pos) {
    1.21 +    return _projection_list[pos];
    1.22 +  }
    1.23 +
    1.24 +  // Push a projection node onto the projection list
    1.25 +  void push_projection(Node* node) {
    1.26 +    _projection_list.push(node);
    1.27 +  }
    1.28 +
    1.29 +  Node* pop_projection() {
    1.30 +    return _projection_list.pop();
    1.31 +  }
    1.32 +
    1.33 +  // Number of nodes in the projection list
    1.34 +  uint number_of_projections() const {
    1.35 +    return _projection_list.size();
    1.36 +  }
    1.37  
    1.38    // Select instructions for entire method
    1.39 -  void  match( );
    1.40 +  void match();
    1.41 +
    1.42    // Helper for match
    1.43    OptoReg::Name warp_incoming_stk_arg( VMReg reg );
    1.44  

mercurial