diff -r e9a5e0a812c8 -r 35acf8f0a2e4 src/share/vm/opto/subnode.cpp --- a/src/share/vm/opto/subnode.cpp Sat Jan 07 13:26:43 2012 -0800 +++ b/src/share/vm/opto/subnode.cpp Tue Jan 10 18:05:38 2012 -0800 @@ -91,7 +91,7 @@ // Not correct for SubFnode and AddFNode (must check for infinity) // Equal? Subtract is zero - if (phase->eqv_uncast(in1, in2)) return add_id(); + if (in1->eqv_uncast(in2)) return add_id(); // Either input is BOTTOM ==> the result is the local BOTTOM if( t1 == Type::BOTTOM || t2 == Type::BOTTOM )