RFR 9/8u: Print heap changes in phases that actually change heap
Aleksey Shipilev
shade at redhat.com
Wed May 10 10:25:11 UTC 2017
Hi,
I think it makes sense to print heap changes only for phases that change heap
occupancy. This means demoting Init-UR, and promoting Conc Reset Bitmaps:
diff -r 4ee5b7c8a8ac src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp
--- a/src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp Tue May 09
12:26:31 2017 +0200
+++ b/src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp Wed May 10
12:24:22 2017 +0200
@@ -244,7 +244,7 @@
{
- GCTraceTime(Info, gc) time("Concurrent reset bitmaps", gc_timer,
GCCause::_no_gc);
+ GCTraceTime(Info, gc) time("Concurrent reset bitmaps", gc_timer,
GCCause::_no_gc, true);
diff -r 4ee5b7c8a8ac src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp
--- a/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Tue May 09
12:26:31 2017 +0200
+++ b/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Wed May 10
12:24:22 2017 +0200
@@ -147,7 +147,7 @@
void VM_ShenandoahInitUpdateRefs::doit() {
GCIdMark gc_id_mark(_gc_id);
ShenandoahHeap *sh = ShenandoahHeap::heap();
- GCTraceTime(Info, gc) time("Pause Init Update Refs", sh->gc_timer(),
GCCause::_no_gc, true);
+ GCTraceTime(Info, gc) time("Pause Init Update Refs", sh->gc_timer(),
GCCause::_no_gc);
Will look like this:
[info][gc] GC(3) Pause Init Mark 0.481ms
[info][gc] GC(3) Concurrent marking 3698M->3704M(4096M) 2.087ms
[info][gc] GC(3) Pause Final Mark 3704M->182M(4096M) 1.778ms
[info][gc] GC(3) Concurrent evacuation 184M->198M(4096M) 1.029ms
[info][gc] GC(3) Pause Init Update Refs 0.019ms
[info][gc] GC(3) Concurrent update references 200M->206M(4096M) 1.760ms
[info][gc] GC(3) Pause Final Update Refs 206M->48M(4096M) 0.409ms
[info][gc] GC(3) Concurrent reset bitmaps 48M->48M(4096M) 0.081ms
The mirror patch goes to 8u.
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list