--- old/src/share/vm/opto/library_call.cpp Thu Aug 27 16:40:17 2009 +++ new/src/share/vm/opto/library_call.cpp Thu Aug 27 16:40:17 2009 @@ -3894,6 +3894,7 @@ assert(obj_size != NULL, ""); Node* raw_obj = alloc_obj->in(1); assert(alloc_obj->is_CheckCastPP() && raw_obj->is_Proj() && raw_obj->in(0)->is_Allocate(), ""); + assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL, "should be more precise then Object"); if (ReduceBulkZeroing) { // We will be completely responsible for initializing this object - @@ -4447,6 +4448,7 @@ InitializeNode* init = alloc->initialization(); assert(init->is_complete(), "we just did this"); assert(dest->is_CheckCastPP(), "sanity"); + assert(dest->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL, "type should be more precise then Object"); assert(dest->in(0)->in(0) == init, "dest pinned"); // Cast to Object for arraycopy.