< prev index next >
src/hotspot/share/gc/shared/memAllocator.cpp
Print this page
*** 374,389 ****
Copy::fill_to_aligned_words(mem + hs, _word_size - hs);
}
oop MemAllocator::finish(HeapWord* mem) const {
assert(mem != NULL, "NULL object pointer");
! if (UseBiasedLocking) {
! oopDesc::set_mark_raw(mem, _klass->prototype_header());
! } else {
! // May be bootstrapping
! oopDesc::set_mark_raw(mem, markOopDesc::prototype());
! }
// Need a release store to ensure array/class length, mark word, and
// object zeroing are visible before setting the klass non-NULL, for
// concurrent collectors.
oopDesc::release_set_klass(mem, _klass);
return oop(mem);
--- 374,384 ----
Copy::fill_to_aligned_words(mem + hs, _word_size - hs);
}
oop MemAllocator::finish(HeapWord* mem) const {
assert(mem != NULL, "NULL object pointer");
! oopDesc::set_mark_raw(mem, Klass::default_prototype_header(_klass));
// Need a release store to ensure array/class length, mark word, and
// object zeroing are visible before setting the klass non-NULL, for
// concurrent collectors.
oopDesc::release_set_klass(mem, _klass);
return oop(mem);
< prev index next >