6787050: assert(n->in(0) == 0L,"no control") with UseCompressedOops on sparcv9
authorkvn
Thu, 18 Dec 2008 11:26:22 -0800
changeset 1679 07b65f7cd0aa
parent 1677 f632e4c20c3e
child 1680 93ac4ec3f0e8
6787050: assert(n->in(0) == 0L,"no control") with UseCompressedOops on sparcv9 Summary: Relax the assert for Sparc. Reviewed-by: never
hotspot/src/share/vm/opto/compile.cpp
--- a/hotspot/src/share/vm/opto/compile.cpp	Tue Dec 16 12:23:39 2008 -0800
+++ b/hotspot/src/share/vm/opto/compile.cpp	Thu Dec 18 11:26:22 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: {