15 Commits

Author SHA1 Message Date
Mikael Gerdin
425894f2ea 8138762: Refactor setup of evacuation closures in G1
Introduce policy class containing the root scan closures.

Reviewed-by: ehelin, stefank
2015-10-14 14:50:43 +02:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Mikael Gerdin
6f11efbbb4 8135154: Move cards scanned and surviving young words aggregation to G1ParScanThreadStateSet
Reviewed-by: tschatzl, ehelin
2015-09-09 14:22:45 +02:00
Mikael Gerdin
2dbd4dd578 8135152: Create a G1ParScanThreadStateSet class for managing G1 GC per thread states
Reviewed-by: tschatzl, ehelin
2015-09-09 10:34:22 +02:00
Staffan Friberg
96823ab211 8066443: Add G1 support for promotion event
Reviewed-by: tschatzl
2015-09-02 09:51:05 +02:00
Thomas Schatzl
041c76d48b 8073146: G1 merges thread local age tables too early with global age table
Move merging of age and survivor table to the end of GC.

Reviewed-by: mgerdin, david
2015-08-20 15:17:43 +02:00
Thomas Schatzl
6cca258181 8040162: Avoid reallocating PLABs between GC phases in G1
Allocate G1ParScanThreadState at the start of GC and only deallocate at the end of GC. This automatically keeps the current PLAB intact without flushing it (and loosing lots of memory) for every reallocation.

Reviewed-by: david, mgerdin
2015-08-20 15:17:43 +02:00
Thomas Schatzl
0ade675b8b 8073013: Add detailed information about PLAB memory usage
Track and provide information about direct allocation, region end waste and failure waste for G1.

Reviewed-by: jmasa, david, ehelin, mgerdin
2015-08-19 13:59:39 +02:00
Thomas Schatzl
43a6ce61de 8133470: Uses of Atomic methods in plab.hpp should be moved to .inline.hpp file
Fix include file dependencies according to general guidelines for plab.hpp

Reviewed-by: ehelin, mgerdin
2015-08-19 13:50:50 +02:00
Thomas Schatzl
8c2da662ff 8003237: G1: Reduce unnecessary (and failing) allocation attempts when handling an evacuation failure
Remember for every generation whether the memory for that generation has already been exhausted. If so, do not try to get a new region for these generations. Further, if the last generation is full, early exit from copy_to_survivor_space.

Reviewed-by: jmasa, brutisso
2015-08-19 13:47:40 +02:00
Thomas Schatzl
c2d0a8dbd0 8133047: Rename G1ParScanThreadState::_queue_num to _worker_id
Reviewed-by: jmasa, jwilhelm
2015-08-06 15:52:33 +02:00
Thomas Schatzl
183850cec4 8133043: Clean up code related to termination stats printing
Reformat termination stats related code to make it look more similar to existing code.

Reviewed-by: jwilhelm, jmasa
2015-08-06 15:49:52 +02:00
Thomas Schatzl
6e3ffb1aae 8073052: Rename and clean up the allocation manager hierarchy in g1Allocator.?pp
Fix naming of G1ParGCAllocator, decrease dependencies between G1CollectedHeap, G1Allocator and G1AllocRegion, additional documentation.

Reviewed-by: mgerdin, jmasa, kbarrett
2015-08-06 15:49:50 +02:00
Walter Florian Gugenberger
ca0fd4b1fe 8004687: G1: Parallelize object self-forwarding and scanning during an evacuation failure
Use the regular task queue during evacuation failure and allow per-thread preserved header queues to remove the global lock during evacuation failure.

Reviewed-by: mgerdin, jmasa
2015-07-23 11:14:47 +02:00
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00