src/share/vm/opto/memnode.cpp

changeset 6507
752ba2e5f6d0
parent 6503
a9becfeecd1b
parent 6313
de95063c0e34
child 6526
75ad4240c15c
     1.1 --- a/src/share/vm/opto/memnode.cpp	Wed Feb 19 20:12:43 2014 -0800
     1.2 +++ b/src/share/vm/opto/memnode.cpp	Tue Feb 25 15:11:18 2014 -0800
     1.3 @@ -657,7 +657,7 @@
     1.4        // disregarding "null"-ness.
     1.5        // (We make an exception for TypeRawPtr::BOTTOM, which is a bit bucket.)
     1.6        const TypePtr* tp_notnull = tp->join(TypePtr::NOTNULL)->is_ptr();
     1.7 -      assert(cross_check->meet(tp_notnull) == cross_check,
     1.8 +      assert(cross_check->meet(tp_notnull) == cross_check->remove_speculative(),
     1.9               "real address must not escape from expected memory type");
    1.10      }
    1.11      #endif
    1.12 @@ -1685,7 +1685,7 @@
    1.13        // t might actually be lower than _type, if _type is a unique
    1.14        // concrete subclass of abstract class t.
    1.15        if (off_beyond_header) {  // is the offset beyond the header?
    1.16 -        const Type* jt = t->join(_type);
    1.17 +        const Type* jt = t->join_speculative(_type);
    1.18          // In any case, do not allow the join, per se, to empty out the type.
    1.19          if (jt->empty() && !t->empty()) {
    1.20            // This can happen if a interface-typed array narrows to a class type.

mercurial