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