Details
-
Bug
-
Status: Resolved
-
P3
-
Resolution: Fixed
-
18
-
b13
Description
In JDK-8269914 the heap region usage was factored into G1HeapPrinterMark. The region information is printed in the destructor and for the Full GC this is a bit to late. We have:
```
G1FullCollector collector(this, explicit_gc, do_clear_all_soft_refs, do_maximum_compaction);
GCTraceTime(Info, gc) tm("Pause Full", NULL, gc_cause(), true);
```
And G1FullCollector has a member G1FullGCScope which in turn has a G1HeapPrinterMark as a member. The order can be easily changed by first starting the timer and then create the collector object.
```
G1FullCollector collector(this, explicit_gc, do_clear_all_soft_refs, do_maximum_compaction);
GCTraceTime(Info, gc) tm("Pause Full", NULL, gc_cause(), true);
```
And G1FullCollector has a member G1FullGCScope which in turn has a G1HeapPrinterMark as a member. The order can be easily changed by first starting the timer and then create the collector object.