33 Commits

Author SHA1 Message Date
Thomas Schatzl
e4a6d80db2 8232779: G1 current collection parallel time does not include optional evacuation
Reviewed-by: kbarrett, sangheki
2019-10-25 12:34:30 +02:00
Thomas Schatzl
5a21a8c4dd 8230706: Waiting on completion of strong nmethod processing causes long pause times with G1
Instead of globally waiting for completion of strong nmethod processing during evacuation, synchronize the nmethods processing on a per-nmethod basis so that only one thread processes one nmethod at once using a state. This state indicates what work (strong/weak processing) needs to be done and what has already been done.

Reviewed-by: sjohanss, kbarrett
2019-10-24 11:08:16 +02:00
Thomas Schatzl
f92526e6fd 8231189: Rename worker_i parameters to worker_id
Reviewed-by: kbarrett, sjohanss
2019-09-23 11:37:08 +02:00
Thomas Schatzl
03e769bd64 8159984: Remove call to ClassLoaderDataGraph::clear_claimed_marks during the initial mark pause
The CLDG is only iterated once during garbage collection, so we do not need to claim CLDs any more.

Reviewed-by: sjohanss, kbarrett
2019-09-23 11:37:02 +02:00
Kim Barrett
a72d25fcc7 8230372: Remove G1GCPhaseTimes::MergeLBProcessedBuffers
Removed no longer needed phase time.

Reviewed-by: sjohanss, tschatzl
2019-08-30 15:36:44 -04:00
Thomas Schatzl
5e48c76e81 8228388: Add information about dirty/skipped card for Merge HCC in G1 log
Collect and print informatio about the number of processed cards during the Merge HCC phase to improve log output.

Reviewed-by: kbarrett, sangheki
2019-07-24 11:49:39 +02:00
Kim Barrett
e396e38bb3 8227653: Add VM Global OopStorage
Replaced conditional JVMCI global storage with VM global storage.

Reviewed-by: tschatzl, lfoltan, kvn
2019-07-18 14:57:32 -04:00
Thomas Schatzl
b4d014896a 8227089: Add timing information for merging humongous remembered sets
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +02:00
Thomas Schatzl
ffe79a37c3 8227084: Add timing information for merge heap root preparation
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +02:00
Thomas Schatzl
d46d9318c1 8213108: Improve work distribution during remembered set scan
Before scanning the heap for roots into the collection set, merge them into a single remembered set (card table) and do work distribution based on location like other collectors do.

Reviewed-by: kbarrett, lkorinth
2019-06-27 11:48:32 +02:00
Thomas Schatzl
3d149df158 8200545: Improve filter for enqueued deferred cards
Reviewed-by: kbarrett, sangheki
2019-05-14 15:36:26 +02:00
Kim Barrett
a8e13a5839 8221359: Eliminate SATBMarkQueueSet::filter_thread_buffers
Removed filter_thread_buffers

Reviewed-by: tschatzl, sangheki
2019-05-03 23:35:12 -04:00
Vladimir Kozlov
e9c523ae5f 8220623: [JVMCI] Update JVMCI to support JVMCI based Compiler compiled into shared library
Reviewed-by: dnsimon, never, stefank, rehn, neliasso, dholmes, kbarrett, coleenp
2019-05-01 12:31:29 -07:00
Thomas Schatzl
884545e54f 8218668: Clean up evacuation of optional collection set
Better integrate optional collection set evacuation into the existing evacuation scheme, fixing a few minor issues with the initial implementation.

Reviewed-by: kbarrett, sangheki
2019-04-08 20:37:52 +02:00
Thomas Schatzl
719bbcddf8 8219369: Add named constants for iterating ExtRootScan phases
Reviewed-by: kbarrett, sangheki
2019-03-04 11:49:16 +01:00
Thomas Schatzl
eaab45a8b8 8219096: Merge print_termination_stats code with current logging
Reviewed-by: lkorinth, kbarrett
2019-02-20 14:30:33 +01:00
Thomas Schatzl
8b5d08be9f 8218920: Scan HCC should be on the same level as Update RS etc. in the log
Reviewed-by: lkorinth, kbarrett
2019-02-19 12:56:02 +01:00
Thomas Schatzl
a3b6a825bc 8218672: AOT code root scanning shows in the wrong position in the logs
Reviewed-by: lkorinth, kbarrett
2019-02-19 12:56:00 +01:00
Thomas Schatzl
d800361151 8213229: Investigate treating StringTable as weak in young collections
Reviewed-by: zgu, kbarrett
2019-01-29 11:30:17 +01:00
Stefan Johansson
37f135132e 8213890: Implementation of JEP 344: Abortable Mixed Collections for G1
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Reviewed-by: tschatzl, kbarrett
2018-12-07 13:54:45 +01:00
Thomas Schatzl
931c9cf86d 8212974: Update RS Skipped cards uses wrong enum to register to phase
Reviewed-by: kbarrett
2018-10-29 08:52:04 +01:00
Leo Korinth
b31408a667 8196341: Add JFR events for parallel phases of G1
Reviewed-by: tschatzl, sangheki
2018-09-21 18:57:18 +02:00
Kim Barrett
1b02e70184 8072498: Multi-thread JNI weak reference processing
Add parallel processing support to WeakProcessor.

Reviewed-by: tschatzl, sjohanss
2018-08-28 12:57:40 -04:00
Thomas Schatzl
d702d5f8d2 8208669: GC changes to allow enabling -Wreorder
Reviewed-by: kbarrett
2018-08-08 15:31:06 +02:00
Stefan Johansson
dce30cad15 8204287: Phase timings not updated correctly after JDK-6672778
Reviewed-by: tschatzl, kbarrett
2018-06-07 09:02:03 +02:00
Erik Gahlin
a060be188d 8199712: Flight Recorder
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, ihse, erikj, dsamersoff, mseledtsov, egahlin, mgronlun
2018-05-15 20:24:34 +02:00
Thomas Schatzl
035d0190a3 8202017: Merge Reference Enqueuing phase with phase 3 of Reference processing
Do reference enqueuing work directly in phase 3 after every Reference.

Reviewed-by: kbarrett, sangheki
2018-05-08 10:01:29 +02:00
Thomas Schatzl
73771f97e9 8202018: Move card table clear before enqueuing pending references
Move card table clearing in preparation of removal of the Reference enqueue phase.

Reviewed-by: sangheki, sjohanss
2018-05-03 14:09:39 +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
0f583c7817 6672778: G1 should trim task queues more aggressively during evacuation pauses
Regularly try to drain task queues. This helps memory usage and performance during garbage collection.

Reviewed-by: sjohanss, sangheki
2018-04-27 12:06:46 +02:00
Thomas Schatzl
ebbd7cf90b 8201596: java.lang.ref.Reference processing total time logging broken
Fix "Reference Processing" and add "Weak Processing" time

Reviewed-by: kbarrett, sangheki
2018-04-18 11:36:48 +02:00
Jamsheed Mohammed C M
10a1edcc22 8152470: Add COMPILER2_OR_JVMCI definition
Defined(COMPILER2) || INCLUDE_JVMCI changed replaced with COMPILER2_OR_JVMCI

Reviewed-by: kvn
2017-11-06 21:28:03 -08:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00