1.1 --- a/src/share/vm/memory/space.cpp Wed Dec 10 23:46:10 2008 -0800 1.2 +++ b/src/share/vm/memory/space.cpp Thu Dec 11 12:05:08 2008 -0800 1.3 @@ -409,19 +409,9 @@ 1.4 HeapWord* q, size_t deadlength) { 1.5 if (allowed_deadspace_words >= deadlength) { 1.6 allowed_deadspace_words -= deadlength; 1.7 - oop(q)->set_mark(markOopDesc::prototype()->set_marked()); 1.8 - const size_t min_int_array_size = typeArrayOopDesc::header_size(T_INT); 1.9 - if (deadlength >= min_int_array_size) { 1.10 - oop(q)->set_klass(Universe::intArrayKlassObj()); 1.11 - typeArrayOop(q)->set_length((int)((deadlength - min_int_array_size) 1.12 - * (HeapWordSize/sizeof(jint)))); 1.13 - } else { 1.14 - assert((int) deadlength == instanceOopDesc::header_size(), 1.15 - "size for smallest fake dead object doesn't match"); 1.16 - oop(q)->set_klass(SystemDictionary::object_klass()); 1.17 - } 1.18 - assert((int) deadlength == oop(q)->size(), 1.19 - "make sure size for fake dead object match"); 1.20 + CollectedHeap::fill_with_object(q, deadlength); 1.21 + oop(q)->set_mark(oop(q)->mark()->set_marked()); 1.22 + assert((int) deadlength == oop(q)->size(), "bad filler object size"); 1.23 // Recall that we required "q == compaction_top". 1.24 return true; 1.25 } else {