7026957: assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int()) failed

Mon, 04 Apr 2011 12:57:04 -0700

author
never
date
Mon, 04 Apr 2011 12:57:04 -0700
changeset 2730
8b2317d732ec
parent 2729
e863062e521d
child 2732
a54519951ff6
child 2733
87ce328c6a21

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()) {

mercurial