12 Commits

Author SHA1 Message Date
Thomas Schatzl
8e264e259d 8208498: Put archive regions into a first-class HeapRegionSet
Maintain archive regions in a HeapRegionSet like other region types.

Reviewed-by: phh, sangheki
2018-08-22 20:37:07 +02:00
Stefan Karlsson
11813888b8 8204540: Automatic oop closure devirtualization
Reviewed-by: kbarrett, eosterlund
2018-05-26 06:59:49 +02:00
Thomas Schatzl
945701e945 8201492: Properly implement non-contiguous generations for Reference discovery
Collectors like G1 implementing non-contiguous generations previously used an inexact but conservative area for discovery. Concurrent and STW reference processing could discover the same reference multiple times, potentially missing referents during evacuation. So these collectors had to take extra measures while concurrent marking/reference discovery has been running. This change makes discovery exact for G1 (and any collector using non-contiguous generations) so that concurrent discovery and STW discovery discover on strictly disjoint memory areas. This means that the mentioned situation can not occur any more, and extra work is not required any more too.

Reviewed-by: kbarrett, sjohanss
2018-05-03 14:09:00 +02:00
Thomas Schatzl
c62a6abe91 8201490: Improve concurrent mark keep alive closure performance
Avoid doing marking work unless absolutely required.

Reviewed-by: sjohanss, kbarrett
2018-04-18 11:36:48 +02:00
Thomas Schatzl
4fd82a111e 8200385: Eagerly reclaimed humongous objects leave mark in prev bitmap
Also clear marks on prev bitmap on eager reclaim

Reviewed-by: sangheki, sjohanss
2018-04-10 09:12:23 +02:00
Thomas Schatzl
e18975e1eb 8197932: Better split work in rebuild remembered sets phase
Let threads rebuilding remembered sets yield after every G1RebuildRemSetChunkSize (default: 256kB) sized memory area to improve TTSP.

Reviewed-by: sangheki, sjohanss
2018-03-28 16:39:32 +02:00
Thomas Schatzl
c30aef79df 8180415: Rebuild remembered sets during the concurrent cycle
In general maintain remembered sets of old regions only from the start of the concurrent cycle to the mixed gc they are used, at most until the end of the mixed phase.

Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:43 +02:00
Thomas Schatzl
28fb5548de 8197850: Calculate liveness in regions during marking
Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:43 +02:00
Kim Barrett
d1bd39385f 8196876: OopStorage::assert_at_safepoint clashes with assert_at_safepoint macros in g1CollectedHeap.hpp
Add shared safepoint state assertion macros.

Reviewed-by: coleenp, eosterlund
2018-03-03 23:56:08 -05:00
Thomas Schatzl
0757704af2 8184667: Clean up G1ConcurrentMark files
Fix naming, formatting, access control, remove unused code.

Reviewed-by: sjohanss, pliden
2017-10-23 11:46:12 +02:00
Roman Kennke
9ba22876cf 8189276: Make SuspendibleThreadSet and related code available to other GCs
Reviewed-by: zgu, coleenp
2017-10-18 21:17:46 +02:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00