src/share/vm/opto/node.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7092905 Cdiff src/share/vm/opto/node.cpp

src/share/vm/opto/node.cpp

Print this page

        

*** 55,75 **** _debug_orig = NULL; int old_debug_idx = Compile::debug_idx(); int new_debug_idx = old_debug_idx+1; if (new_debug_idx > 0) { // Arrange that the lowest five decimal digits of _debug_idx ! // will repeat thos of _idx. In case this is somehow pathological, // we continue to assign negative numbers (!) consecutively. const int mod = 100000; int bump = (int)(_idx - new_debug_idx) % mod; if (bump < 0) bump += mod; assert(bump >= 0 && bump < mod, ""); new_debug_idx += bump; } Compile::set_debug_idx(new_debug_idx); set_debug_idx( new_debug_idx ); ! assert(Compile::current()->unique() < (uint)MaxNodeLimit, "Node limit exceeded"); if (BreakAtNode != 0 && (_debug_idx == BreakAtNode || (int)_idx == BreakAtNode)) { tty->print_cr("BreakAtNode: _idx=%d _debug_idx=%d", _idx, _debug_idx); BREAKPOINT; } #if OPTO_DU_ITERATOR_ASSERT --- 55,75 ---- _debug_orig = NULL; int old_debug_idx = Compile::debug_idx(); int new_debug_idx = old_debug_idx+1; if (new_debug_idx > 0) { // Arrange that the lowest five decimal digits of _debug_idx ! // will repeat those of _idx. In case this is somehow pathological, // we continue to assign negative numbers (!) consecutively. const int mod = 100000; int bump = (int)(_idx - new_debug_idx) % mod; if (bump < 0) bump += mod; assert(bump >= 0 && bump < mod, ""); new_debug_idx += bump; } Compile::set_debug_idx(new_debug_idx); set_debug_idx( new_debug_idx ); ! assert(Compile::current()->unique() < (UINT_MAX - 1), "Node limit exceeded UINT_MAX"); if (BreakAtNode != 0 && (_debug_idx == BreakAtNode || (int)_idx == BreakAtNode)) { tty->print_cr("BreakAtNode: _idx=%d _debug_idx=%d", _idx, _debug_idx); BREAKPOINT; } #if OPTO_DU_ITERATOR_ASSERT
*** 800,810 **** } //-------------------------disconnect_inputs----------------------------------- // NULL out all inputs to eliminate incoming Def-Use edges. // Return the number of edges between 'n' and 'this' ! int Node::disconnect_inputs(Node *n) { int edges_to_n = 0; uint cnt = req(); for( uint i = 0; i < cnt; ++i ) { if( in(i) == 0 ) continue; --- 800,810 ---- } //-------------------------disconnect_inputs----------------------------------- // NULL out all inputs to eliminate incoming Def-Use edges. // Return the number of edges between 'n' and 'this' ! int Node::disconnect_inputs(Node *n, Compile* C) { int edges_to_n = 0; uint cnt = req(); for( uint i = 0; i < cnt; ++i ) { if( in(i) == 0 ) continue;
*** 822,831 **** --- 822,834 ---- } } // Node::destruct requires all out edges be deleted first // debug_only(destruct();) // no reuse benefit expected + if (edges_to_n == 0) { + C->record_dead_node(_idx); + } return edges_to_n; } //-----------------------------uncast--------------------------------------- // %%% Temporary, until we sort out CheckCastPP vs. CastPP.
src/share/vm/opto/node.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File