1.1 --- a/src/share/vm/memory/space.cpp Tue Jun 01 11:48:33 2010 -0700 1.2 +++ b/src/share/vm/memory/space.cpp Wed Jun 02 22:45:42 2010 -0700 1.3 @@ -861,9 +861,9 @@ 1.4 } 1.5 size = align_object_size(size); 1.6 1.7 - const size_t min_int_array_size = typeArrayOopDesc::header_size(T_INT); 1.8 - if (size >= min_int_array_size) { 1.9 - size_t length = (size - min_int_array_size) * (HeapWordSize / sizeof(jint)); 1.10 + const size_t array_header_size = typeArrayOopDesc::header_size(T_INT); 1.11 + if (size >= (size_t)align_object_size(array_header_size)) { 1.12 + size_t length = (size - array_header_size) * (HeapWordSize / sizeof(jint)); 1.13 // allocate uninitialized int array 1.14 typeArrayOop t = (typeArrayOop) allocate(size); 1.15 assert(t != NULL, "allocation should succeed"); 1.16 @@ -871,7 +871,7 @@ 1.17 t->set_klass(Universe::intArrayKlassObj()); 1.18 t->set_length((int)length); 1.19 } else { 1.20 - assert((int) size == instanceOopDesc::header_size(), 1.21 + assert(size == CollectedHeap::min_fill_size(), 1.22 "size for smallest fake object doesn't match"); 1.23 instanceOop obj = (instanceOop) allocate(size); 1.24 obj->set_mark(markOopDesc::prototype());