src/share/vm/memory/space.cpp

changeset 916
7d7a7c599c17
parent 873
122d10c82f3f
child 952
e9be0e04635a
     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 {

mercurial