changeset 2523:8b2317d732ec

7026957: assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int()) failed Reviewed-by: kvn, jrose
author never
date Mon, 04 Apr 2011 12:57:04 -0700
parents e863062e521d
children a54519951ff6 87ce328c6a21
files src/share/vm/opto/loopTransform.cpp
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/opto/loopTransform.cpp	Mon Apr 04 03:02:00 2011 -0700
+++ b/src/share/vm/opto/loopTransform.cpp	Mon Apr 04 12:57:04 2011 -0700
@@ -2112,9 +2112,12 @@
       if (value != head->phi()) {
         msg = "unhandled shift in address";
       } else {
-        found_index = true;
-        shift = n;
-        assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int(), "scale should match");
+        if (type2aelembytes(store->as_Mem()->memory_type(), true) != (1 << n->in(2)->get_int())) {
+          msg = "scale doesn't match";
+        } else {
+          found_index = true;
+          shift = n;
+        }
       }
     } else if (n->Opcode() == Op_ConvI2L && conv == NULL) {
       if (n->in(1) == head->phi()) {