29 Commits

Author SHA1 Message Date
Thomas Schatzl
159a4de4c8 8210557: G1 next bitmap verification at the end of concurrent mark sometimes fails
Removed unnecessary verification that can cause spurious false alarm.

Reviewed-by: sjohanss, kbarrett
2018-09-21 15:11:09 +02:00
Zhengyu Gu
4555c28590 8205921: Optimizing best-of-2 work stealing queue selection
Bias towards stealing from queues that we recently successfully stole from to decrease the number of unsuccessful steal attempts.

Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: eosterlund, kbarrett
2018-08-03 11:06:10 +02:00
Thomas Schatzl
ec2d9845e0 8201491: G1 support for java.lang.ref.Reference precleaning
Implement single-threaded concurrent reference precleaning for G1.

Reviewed-by: sangheki, kbarrett
2018-05-14 11:47:03 +02:00
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +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
6db76f1af6 8201172: Parallelize Remset Tracking Update Before Rebuild phase
Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +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
5b42f3ce0d 8200426: Make G1 code use _g1h members
Consistently use _g1h member names for cached G1CollectedHeap* variables.

Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
9db71579ee 8154528: Reclaim regions emptied by marking in Remark pause
Reviewed-by: shade, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
7c09cf644b 8178105: Switch mark bitmaps during Remark
Reviewed-by: sjohanss, sangheki
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
94d2a9db4c 8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress
Reviewed-by: sjohanss, sangheki
2018-04-04 11:21:14 +02:00
Thomas Schatzl
ee1bd0136b 8200255: Remove G1CMTask::_concurrent
Reviewed-by: sangheki, sjohanss
2018-04-04 11:21:14 +02:00
Thomas Schatzl
5780affe90 8200234: Cleanup Remark and Cleanup pause code
Remove redundant methods, factor out verification code and simplify code in Remark and Cleanup pause code.

Reviewed-by: sangheki, sjohanss
2018-04-04 11:21:14 +02:00
Leo Korinth
05dd65349b 8200371: In g1, rename ConcurrentMarkThread to G1ConcurrentMarkThread
Reviewed-by: tschatzl, sangheki
2018-04-03 12:05:49 +02:00
Thomas Schatzl
d594ab7636 8151171: Bring g1ConcurrentMark files up to current coding conventions
Improve method naming, bracketing, use of _g1h member and general cleanup.

Reviewed-by: sangheki, sjohanss
2018-03-29 14:08:10 +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
83d7c657c4 8197573: Remove concurrent cleanup and secondary free list handling
Remove secondary free list and all associated functionality, moving the cleanup work into the Cleanup pause instead.

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
Thomas Schatzl
af7d8f0d69 8197569: Refactor eager reclaim for concurrent remembered set rebuilding
Expose information about eager reclaim region selection.

Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:41 +02:00
Coleen Phillimore
394e34d821 8199282: Remove ValueObj class for allocation subclassing for gc code
Reviewed-by: stefank, kbarrett
2018-03-14 07:27:19 -04:00
Thomas Schatzl
80fa8a7208 8196602: Change HeapRegionClosure to comply to naming conventions
Reviewed-by: kbarrett, sjohanss
2018-02-09 13:09:55 +01:00
Thomas Schatzl
1eabe47e62 8189673: Consistent naming of concurrent threads, tasks and related identifiers
Reviewed-by: sjohanss, drwhite
2017-10-25 16:13:09 +02:00
Thomas Schatzl
c66290985d 8189801: Remove G1MarkingOverheadPercent
Remove obsolete and buggy functionality related to G1MarkingOverheadPercent

Reviewed-by: sjohanss
2017-10-25 16:12:15 +02:00
Thomas Schatzl
824e776c37 8189665: Change id parameter of G1ConcurrentMark::task() to uint
Reviewed-by: sangheki, sjohanss
2017-10-23 11:46:38 +02:00
Thomas Schatzl
793aa8d8ce 8189666: Replace various inlined percentage calculations with global percent_of()
Reviewed-by: sjohanss, sangheki
2017-10-23 11:46:25 +02: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
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00