src/share/vm/opto/domgraph.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/domgraph.cpp	Wed Aug 12 15:10:31 2009
--- new/src/share/vm/opto/domgraph.cpp	Wed Aug 12 15:10:31 2009

*** 394,404 **** --- 394,404 ---- //------------------------------Dominator-------------------------------------- // Compute the dominator tree of the sea of nodes. This version walks all CFG // nodes (using the is_CFG() call) and places them in a dominator tree. Thus, // it needs a count of the CFG nodes for the mapping table. This is the // Lengauer & Tarjan O(E-alpha(E,V)) algorithm. - void PhaseIdealLoop::Dominators( ) { ResourceMark rm; // Setup mappings from my Graph to Tarjan's stuff and back // Note: Tarjan uses 1-based arrays NTarjan *ntarjan = NEW_RESOURCE_ARRAY(NTarjan,C->unique()+1); // Initialize _control field for fast reference
*** 452,462 **** --- 452,462 ---- // Cleanup any unreachable loops now. Unreachable loops are loops that // flow into the main graph (and hence into ROOT) but are not reachable // from above. Such code is dead, but requires a global pass to detect // it; this global pass was the 'build_loop_tree' pass run just prior. ! if( !_verify_only && whead->is_Region() ) { for( uint i = 1; i < whead->req(); i++ ) { if (!has_node(whead->in(i))) { // Kill dead input path assert( !visited.test(whead->in(i)->_idx), "input with no loop must be dead" );

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