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.