Mercurial > hg > jdk9-shenandoah > hotspot
changeset 9456:cb4719896b2f
Revert tlab accounting patch. That caused asserts in ThreadLocalAllocBuffer.
author | rkennke |
---|---|
date | Thu, 20 Aug 2015 18:28:43 +0200 |
parents | 2cb85c37fb07 |
children | 5ac3e2b600e1 581a34400ca9 |
files | src/share/vm/gc/shenandoah/shenandoahHeap.cpp src/share/vm/gc/shenandoah/shenandoahHeap.hpp src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp |
diffstat | 4 files changed, 6 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/gc/shenandoah/shenandoahHeap.cpp Thu Aug 20 17:57:41 2015 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahHeap.cpp Thu Aug 20 18:28:43 2015 +0200 @@ -1879,7 +1879,6 @@ if (!silent) gclog_or_tty->print("(SKIPPING roots, heapRegions, remset) "); } } - size_t ShenandoahHeap::tlab_capacity(Thread *thr) const { return _free_regions->available(); } @@ -2104,10 +2103,11 @@ void ShenandoahHeap::start_concurrent_marking() { + accumulate_statistics_all_tlabs(); + set_concurrent_mark_in_progress(true); // We need to reset all TLABs because we'd lose marks on all objects allocated in them. if (UseTLAB) { - accumulate_statistics_all_tlabs(); ensure_parsability(true); } @@ -2275,10 +2275,6 @@ } -void ShenandoahHeap::accumulate_statistics_all_tlabs() { - CollectedHeap::accumulate_statistics_all_tlabs(); -} - void ShenandoahHeap::stop_concurrent_marking() { assert(concurrent_mark_in_progress(), "How else could we get here?"); if (! cancelled_concgc()) { @@ -2288,14 +2284,6 @@ } set_concurrent_mark_in_progress(false); - - if (UseTLAB) { - shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::resize_tlabs); - accumulate_statistics_all_tlabs(); - resize_all_tlabs(); - shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::resize_tlabs); - } - if (ShenandoahGCVerbose) { print_heap_regions(); }
--- a/src/share/vm/gc/shenandoah/shenandoahHeap.hpp Thu Aug 20 17:57:41 2015 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahHeap.hpp Thu Aug 20 18:28:43 2015 +0200 @@ -215,7 +215,6 @@ virtual size_t max_tlab_size() const; void resize_all_tlabs(); - void accumulate_statistics_all_tlabs(); void accumulate_statistics_all_gclabs(); HeapWord* tlab_post_allocation_setup(HeapWord* obj, bool new_obj);
--- a/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Thu Aug 20 17:57:41 2015 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Thu Aug 20 18:28:43 2015 +0200 @@ -69,7 +69,6 @@ } if (UseTLAB) { - _heap->accumulate_statistics_all_tlabs(); _heap->ensure_parsability(true); } @@ -133,10 +132,6 @@ _heap->reset_mark_bitmap(); - if (UseTLAB) { - _heap->resize_all_tlabs(); - } - if (ShenandoahTraceFullGC) { gclog_or_tty->print_cr("Shenandoah-full-gc: finish with heap used: "SIZE_FORMAT" MB", _heap->used() / M); }
--- a/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Thu Aug 20 17:57:41 2015 +0200 +++ b/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Thu Aug 20 18:28:43 2015 +0200 @@ -31,6 +31,10 @@ tty->print("vm_ShenandoahInitMark\n"); sh->start_concurrent_marking(); + sh->shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::resize_tlabs); + sh->resize_all_tlabs(); + sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::resize_tlabs); + sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::init_mark); if (! ShenandoahConcurrentMarking) { @@ -47,11 +51,6 @@ void VM_ShenandoahFullGC::doit() { ShenandoahMarkCompact::do_mark_compact(); - - ShenandoahHeap *sh = ShenandoahHeap::heap(); - sh->shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::resize_tlabs); - sh->resize_all_tlabs(); - sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::resize_tlabs); } const char* VM_ShenandoahFullGC::name() const {