--- old/src/share/vm/opto/matcher.cpp Mon Nov 7 13:52:44 2011 +++ new/src/share/vm/opto/matcher.cpp Mon Nov 7 13:52:44 2011 @@ -1915,7 +1915,7 @@ set_dontcare(n); break; case Op_Jump: - mstack.push(n->in(1), Visit); // Switch Value + mstack.push(n->in(1), Pre_Visit); // Switch Value (could be shared) mstack.push(n->in(0), Pre_Visit); // Visit Control input continue; // while (mstack.is_nonempty()) case Op_StrComp: