Mon, 04 Apr 2011 12:57:04 -0700
7026957: assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int()) failed
Reviewed-by: kvn, jrose
src/share/vm/opto/loopTransform.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/opto/loopTransform.cpp Mon Apr 04 03:02:00 2011 -0700 1.2 +++ b/src/share/vm/opto/loopTransform.cpp Mon Apr 04 12:57:04 2011 -0700 1.3 @@ -2112,9 +2112,12 @@ 1.4 if (value != head->phi()) { 1.5 msg = "unhandled shift in address"; 1.6 } else { 1.7 - found_index = true; 1.8 - shift = n; 1.9 - assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int(), "scale should match"); 1.10 + if (type2aelembytes(store->as_Mem()->memory_type(), true) != (1 << n->in(2)->get_int())) { 1.11 + msg = "scale doesn't match"; 1.12 + } else { 1.13 + found_index = true; 1.14 + shift = n; 1.15 + } 1.16 } 1.17 } else if (n->Opcode() == Op_ConvI2L && conv == NULL) { 1.18 if (n->in(1) == head->phi()) {