--- old/src/share/vm/opto/opaquenode.cpp 2014-11-12 11:02:00.769886578 +0100 +++ new/src/share/vm/opto/opaquenode.cpp 2014-11-12 11:02:00.506936191 +0100 @@ -23,13 +23,14 @@ */ #include "precompiled.hpp" +#include "opto/loopnode.hpp" #include "opto/opaquenode.hpp" #include "opto/phaseX.hpp" //============================================================================= // Do not allow value-numbering uint Opaque1Node::hash() const { return NO_HASH; } -uint Opaque1Node::cmp( const Node &n ) const { +uint Opaque1Node::cmp(const Node &n) const { return (&n == this); // Always fail except on self } @@ -40,7 +41,7 @@ // call to IterGVN and any chance of hitting this code. Hence there's no // phase-ordering problem with stripping Opaque1 in IGVN followed by some // more loop optimizations that require it. -Node *Opaque1Node::Identity( PhaseTransform *phase ) { +Node *Opaque1Node::Identity(PhaseTransform *phase) { return phase->C->major_progress() ? this : in(1); }