< prev index next >
src/hotspot/share/gc/shared/plab.cpp
Print this page
rev 50094 : [mq]: gclab.patch
rev 50095 : [mq]: allocations-rt.patch
@@ -81,21 +81,19 @@
_wasted += retire_internal();
}
size_t PLAB::retire_internal() {
size_t result = 0;
- if (_top + Universe::heap()->oop_extra_words() < _hard_end) {
- HeapWord* obj = Universe::heap()->tlab_post_allocation_setup(_top);
- CollectedHeap::fill_with_object(obj, _hard_end);
+ if (_top < _hard_end) {
+ CollectedHeap::fill_with_object(_top, _hard_end);
result += invalidate();
}
return result;
}
void PLAB::add_undo_waste(HeapWord* obj, size_t word_sz) {
- HeapWord* head_obj = Universe::heap()->tlab_post_allocation_setup(obj);
- CollectedHeap::fill_with_object(head_obj, word_sz - (head_obj - obj));
+ CollectedHeap::fill_with_object(obj, word_sz);
_undo_wasted += word_sz;
}
void PLAB::undo_last_allocation(HeapWord* obj, size_t word_sz) {
assert(pointer_delta(_top, _bottom) >= word_sz, "Bad undo");
< prev index next >