--- a/hotspot/src/share/vm/opto/phaseX.cpp Fri Apr 17 17:39:19 2015 -0700
+++ b/hotspot/src/share/vm/opto/phaseX.cpp Tue Mar 24 10:25:09 2015 +0100
@@ -1605,21 +1605,6 @@
C->set_root( transform(C->root())->as_Root() );
assert( C->top(), "missing TOP node" );
assert( C->root(), "missing root" );
-
- // Eagerly remove castPP nodes here. CastPP nodes might not be
- // removed in the subsequent IGVN phase if a node that changes
- // in(1) of a castPP is processed prior to the castPP node.
- for (uint i = 0; i < _worklist.size(); i++) {
- Node* n = _worklist.at(i);
-
- if (n->is_ConstraintCast()) {
- Node* nn = n->Identity(this);
- if (nn != n) {
- replace_node(n, nn);
- --i;
- }
- }
- }
}
//------------------------------transform--------------------------------------
@@ -1700,11 +1685,6 @@
_worklist.push(n); // n re-enters the hash table via the worklist
}
- // Idealize graph using DU info. Must clone() into new-space.
- // DU info is generally used to show profitability, progress or safety
- // (but generally not needed for correctness).
- Node *nn = n->Ideal_DU_postCCP(this);
-
// TEMPORARY fix to ensure that 2nd GVN pass eliminates NULL checks
switch( n->Opcode() ) {
case Op_FastLock: // Revisit FastLocks for lock coarsening
@@ -1721,12 +1701,6 @@
default:
break;
}
- if( nn ) {
- _worklist.push(n);
- // Put users of 'n' onto worklist for second igvn transform
- add_users_to_worklist(n);
- return nn;
- }
return n;
}