--- a/hotspot/src/share/vm/opto/compile.cpp Wed Dec 17 14:09:39 2008 -0800
+++ b/hotspot/src/share/vm/opto/compile.cpp Thu Dec 18 13:59:59 2008 -0800
@@ -2192,7 +2192,9 @@
case Op_DecodeN:
assert(!n->in(1)->is_EncodeP(), "should be optimized out");
- assert(n->in(0) == NULL, "no control");
+ // DecodeN could be pinned on Sparc where it can't be fold into
+ // an address expression, see the code for Op_CastPP above.
+ assert(n->in(0) == NULL || !Matcher::clone_shift_expressions, "no control except on sparc");
break;
case Op_EncodeP: {