hotspot/src/share/vm/opto/matcher.cpp
changeset 18103 a17a8a4b7e5c
parent 18025 b7bcf7497f93
parent 18099 45973b036c3e
child 18956 f8fc5dd18a1d
child 22809 8f0522f038d3
equal deleted inserted replaced
18068:45a0e81d43b7 18103:a17a8a4b7e5c
   983   // Use one stack to keep both: child's node/state and parent's node/index
   983   // Use one stack to keep both: child's node/state and parent's node/index
   984   MStack mstack(max_stack * 2 * 2); // C->unique() * 2 * 2
   984   MStack mstack(max_stack * 2 * 2); // C->unique() * 2 * 2
   985   mstack.push(n, Visit, NULL, -1);  // set NULL as parent to indicate root
   985   mstack.push(n, Visit, NULL, -1);  // set NULL as parent to indicate root
   986 
   986 
   987   while (mstack.is_nonempty()) {
   987   while (mstack.is_nonempty()) {
       
   988     C->check_node_count(NodeLimitFudgeFactor, "too many nodes matching instructions");
       
   989     if (C->failing()) return NULL;
   988     n = mstack.node();          // Leave node on stack
   990     n = mstack.node();          // Leave node on stack
   989     Node_State nstate = mstack.state();
   991     Node_State nstate = mstack.state();
   990     if (nstate == Visit) {
   992     if (nstate == Visit) {
   991       mstack.set_state(Post_Visit);
   993       mstack.set_state(Post_Visit);
   992       Node *oldn = n;
   994       Node *oldn = n;