8001635: assert(in_bb(n)) failed: must be
authorkvn
Fri, 26 Oct 2012 11:48:04 -0700
changeset 14134 ac68af33685a
parent 14133 c2e317724c4c
child 14135 786f076e8457
8001635: assert(in_bb(n)) failed: must be Summary: Added missed check that Load node is in processed loop block. Reviewed-by: twisti
hotspot/src/share/vm/opto/superword.cpp
--- a/hotspot/src/share/vm/opto/superword.cpp	Thu Oct 25 17:32:03 2012 -0700
+++ b/hotspot/src/share/vm/opto/superword.cpp	Fri Oct 26 11:48:04 2012 -0700
@@ -1809,7 +1809,7 @@
             const Type* vt = vtn;
             if (VectorNode::is_shift(in)) {
               Node* load = in->in(1);
-              if (load->is_Load() && (velt_type(load)->basic_type() == T_INT)) {
+              if (load->is_Load() && in_bb(load) && (velt_type(load)->basic_type() == T_INT)) {
                 vt = velt_type(load);
               } else if (in->Opcode() != Op_LShiftI) {
                 // Widen type to Int to avoid creation of right shift vector