src/share/vm/opto/node.cpp

changeset 4315
2aff40cb4703
parent 4115
e626685e9f6c
child 4370
32164d89fe9c
     1.1 --- a/src/share/vm/opto/node.cpp	Tue Nov 27 12:48:52 2012 -0800
     1.2 +++ b/src/share/vm/opto/node.cpp	Tue Nov 27 17:24:15 2012 -0800
     1.3 @@ -57,7 +57,7 @@
     1.4    int new_debug_idx = old_debug_idx+1;
     1.5    if (new_debug_idx > 0) {
     1.6      // Arrange that the lowest five decimal digits of _debug_idx
     1.7 -    // will repeat thos of _idx.  In case this is somehow pathological,
     1.8 +    // will repeat those of _idx. In case this is somehow pathological,
     1.9      // we continue to assign negative numbers (!) consecutively.
    1.10      const int mod = 100000;
    1.11      int bump = (int)(_idx - new_debug_idx) % mod;
    1.12 @@ -67,7 +67,7 @@
    1.13    }
    1.14    Compile::set_debug_idx(new_debug_idx);
    1.15    set_debug_idx( new_debug_idx );
    1.16 -  assert(Compile::current()->unique() < (uint)MaxNodeLimit, "Node limit exceeded");
    1.17 +  assert(Compile::current()->unique() < (UINT_MAX - 1), "Node limit exceeded UINT_MAX");
    1.18    if (BreakAtNode != 0 && (_debug_idx == BreakAtNode || (int)_idx == BreakAtNode)) {
    1.19      tty->print_cr("BreakAtNode: _idx=%d _debug_idx=%d", _idx, _debug_idx);
    1.20      BREAKPOINT;
    1.21 @@ -802,7 +802,7 @@
    1.22  //-------------------------disconnect_inputs-----------------------------------
    1.23  // NULL out all inputs to eliminate incoming Def-Use edges.
    1.24  // Return the number of edges between 'n' and 'this'
    1.25 -int Node::disconnect_inputs(Node *n) {
    1.26 +int Node::disconnect_inputs(Node *n, Compile* C) {
    1.27    int edges_to_n = 0;
    1.28  
    1.29    uint cnt = req();
    1.30 @@ -824,6 +824,9 @@
    1.31  
    1.32    // Node::destruct requires all out edges be deleted first
    1.33    // debug_only(destruct();)   // no reuse benefit expected
    1.34 +  if (edges_to_n == 0) {
    1.35 +    C->record_dead_node(_idx);
    1.36 +  }
    1.37    return edges_to_n;
    1.38  }
    1.39  

mercurial