--- a/hotspot/src/share/vm/opto/loopnode.cpp Sat Mar 26 08:31:45 2011 -0700
+++ b/hotspot/src/share/vm/opto/loopnode.cpp Sun Mar 27 00:00:14 2011 -0700
@@ -1064,8 +1064,6 @@
// Cache parts in locals for easy
PhaseIterGVN &igvn = phase->_igvn;
- phase->C->print_method("Before beautify loops", 3);
-
igvn.hash_delete(_head); // Yank from hash before hacking edges
// Check for multiple fall-in paths. Peel off a landing pad if need be.
@@ -1547,6 +1545,7 @@
ResourceMark rm;
int old_progress = C->major_progress();
+ uint orig_worklist_size = _igvn._worklist.size();
// Reset major-progress flag for the driver's heuristics
C->clear_major_progress();
@@ -1610,6 +1609,7 @@
// Split shared headers and insert loop landing pads.
// Do not bother doing this on the Root loop of course.
if( !_verify_me && !_verify_only && _ltree_root->_child ) {
+ C->print_method("Before beautify loops", 3);
if( _ltree_root->_child->beautify_loops( this ) ) {
// Re-build loop tree!
_ltree_root->_child = NULL;
@@ -1694,7 +1694,7 @@
for (int i = 0; i < old_progress; i++)
C->set_major_progress();
assert(C->unique() == unique, "verification mode made Nodes? ? ?");
- assert(_igvn._worklist.size() == 0, "shouldn't push anything");
+ assert(_igvn._worklist.size() == orig_worklist_size, "shouldn't push anything");
return;
}