diff src/share/vm/opto/library_call.cpp @ 950:8fe1963e3964

6875577: CTW fails with /hotspot/src/share/vm/opto/memnode.cpp Summary: Fix do_null_check to check for unloaded klass for all oop pointers. Reviewed-by: never, cfang
author kvn
date Fri, 28 Aug 2009 11:19:33 -0700
parents fc2281ddce3c
children c7e94e8fff43
line wrap: on
line diff
--- a/src/share/vm/opto/library_call.cpp	Thu Aug 27 06:17:23 2009 -0700
+++ b/src/share/vm/opto/library_call.cpp	Fri Aug 28 11:19:33 2009 -0700
@@ -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 than 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 than Object");
     assert(dest->in(0)->in(0) == init, "dest pinned");
 
     // Cast to Object for arraycopy.