69 Commits

Author SHA1 Message Date
Ioi Lam
92d1c4a61a 8244775: Remove unnecessary dependency to jfrEvents.hpp
Reviewed-by: kbarrett, kvn
2020-05-13 10:56:51 -07:00
Kim Barrett
4694da31f8 8242078: G1: Improve concurrent refinement analytics and logging
Unify data collection and reporting.

Reviewed-by: tschatzl, sjohanss
2020-04-14 17:31:53 -04:00
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27:07 +01:00
Stefan Karlsson
17106c9e9d 8236778: Add Atomic::fetch_and_add
Reviewed-by: kbarrett, dholmes
2020-01-24 09:15:08 +01:00
Stefan Johansson
8d00c5aa0d 8235119: Incomplete initialization of scan_top values results in out-of-bounds scanning of regions
Reviewed-by: kbarrett, tschatzl, sangheki
2019-12-20 09:42:38 -08:00
Thomas Schatzl
5bcd794646 8227739: Merge cost predictions for scanning cards and log buffer entries
Revamp the cost predictions for the changes in JDK-8200545 and JDK-8213108.

Reviewed-by: sjohanss, kbarrett
2019-11-29 10:20:14 +01:00
Stefan Johansson
4266daf9c9 8141637: Parallelize single threaded heap region iteration during Pre Evacuate Collection Set
Reviewed-by: tschatzl, lkorinth
2019-11-27 12:18:40 +01:00
Stefan Karlsson
161333eeba 8234748: Clean up atomic and orderAccess includes
Reviewed-by: dholmes
2019-11-26 10:47:46 +01:00
Stefan Karlsson
0ad50c2b5c 8234740: Harmonize parameter order in Atomic - cmpxchg
Reviewed-by: rehn, dholmes
2019-11-25 12:33:15 +01:00
Stefan Karlsson
d45ec50076 8234737: Harmonize parameter order in Atomic - add
Reviewed-by: rehn, dholmes
2019-11-25 12:31:39 +01:00
Man Cao
5f2ac35cd0 8087198: G1 card refinement: batching, sorting
Reviewed-by: tschatzl, kbarrett
2019-11-22 17:03:55 -08:00
Man Cao
7e6ebde13c 8232232: G1RemSetSummary::_rs_threads_vtimes is not initialized to zero
Fix error in "Concurrent refinement threads times" in GC log and cleanup.

Reviewed-by: tschatzl, kbarrett
2019-10-14 18:48:10 -07:00
Kim Barrett
d7fcd0ccac 8231153: Improve concurrent refinement statistics
8043505: G1RemSet::_conc_refine_cards is incremented unsynchronized

Added refinement rates and counts, removed _conc_refine_cards

Reviewed-by: tschatzl, sjohanss
2019-10-08 15:15:50 -04: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
9ccc00d1dd 8231117: Remove G1EvacuationRootClosures::raw_strong_oops()
Reviewed-by: kbarrett, sjohanss
2019-09-23 11:36:53 +02:00
Kim Barrett
40565a845c 8230404: Refactor logged card refinement support in G1DirtyCardQueueSet
Separate concurrent refinement from STW refinement.

Reviewed-by: sjohanss, tschatzl
2019-09-06 13:38:55 -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
Thomas Schatzl
550408d240 8226913: Scale cards per chunk used during heap root scanning with region size
Scale cards per chunk based on heap size to decrease constant overhead with heap root scanning data structure initialization

Reviewed-by: kbarrett, sangheki
2019-07-24 11:49:39 +02:00
Kim Barrett
4b3c528140 8162929: Enqueuing dirty cards into a single DCQS during GC does not scale
Refactor into G1RedirtyCardsQueue[Set] and G1DirtyCardQueueSet

Reviewed-by: tschatzl, sangheki
2019-07-19 16:47:11 -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
bb7bf64fd7 8226232: Move merge heap roots code out from G1RemSetScanState
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +02:00
Thomas Schatzl
c03b0c2f62 8224741: Optimize the scan area during the Scan Heap Roots phase
When scanning card blocks, remember the last address already scanned. Continue scanning from this address.

Reviewed-by: kbarrett, lkorinth
2019-07-08 09:24:40 +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
8c6727240e 8224160: Move G1RemSetScanClosure into g1RemSet.cpp file
Reviewed-by: kbarrett, sangheki
2019-05-22 11:19:14 +02:00
Thomas Schatzl
4b086a28a5 8222492: G1 unnecessarily scans remembered set cards for regions that already have been evacuated
Filter out cards from the current collection set during evacuation increments.

Reviewed-by: kbarrett, sangheki
2019-05-18 22:11:25 +02:00
Thomas Schatzl
b1278c587f 8223018: Rename G1RemSet::*oops_into_collection_set_do methods
Reviewed-by: manc, sangheki
2019-05-14 15:36:26 +02:00
Thomas Schatzl
3d149df158 8200545: Improve filter for enqueued deferred cards
Reviewed-by: kbarrett, sangheki
2019-05-14 15:36:26 +02: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
Kim Barrett
3bb3dbc47e 8220240: Refactor shared dirty card queue
Add G1SharedDirtyCardQueue class.

Reviewed-by: tschatzl, lkorinth
2019-03-22 15:42:43 -04:00
Thomas Schatzl
687596a858 8220345: Use appropriate type for G1RemSetScanState::IsDirtyRegionState
Reviewed-by: kbarrett, lkorinth
2019-03-13 21:01:56 +01:00
Thomas Schatzl
ece7e8a2a1 8220301: Remove jbyte use in CardTable
Use CardTable::CardValue aliased to uint8_t instead.

Reviewed-by: kbarrett, shade
2019-03-13 21:01:56 +01:00
Thomas Schatzl
bfaeb63761 8219748: Add and use getter for the timing object in G1
Reviewed-by: shade, kbarrett
2019-03-04 11:49:16 +01:00
Thomas Schatzl
5fe5d0a90a 8219747: Remove g1_ prefix to g1_remset and g1_policy members in G1CollectedHeap
Reviewed-by: shade, sangheki
2019-03-04 11:49:16 +01:00
Igor Ignatyev
7cf85f15b6 8219565: [deadcode] remove share/utilities/intHisto.*
Reviewed-by: dholmes
2019-02-28 09:10:46 -08:00
Thomas Schatzl
9e563f9a08 8219097: Move comment about using weak code blobs closure for code root scanning to correct place
Reviewed-by: kbarrett
2019-02-19 12:56:02 +01:00
Kim Barrett
d2c690e80b 8218089: Rename DirtyCardQueue et al to follow usual G1 naming conventions
Move files and rename classes.

Reviewed-by: tschatzl, lkorinth
2019-02-13 17:38:14 -05: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
0f0b8626fc 8213996: Remove one of the SparsePRT entry tables
Remove unused functionality in SparsePRT

Reviewed-by: shade, sjohanss
2018-11-28 11:06:58 +01:00
Thomas Schatzl
28c9f22ebb 8212911: Unify and micro-optimize handling of non-in-collection set references in oop closures
Reviewed-by: kbarrett, sjohanss
2018-10-31 13:43:57 +01:00
Thomas Schatzl
3a343a5681 8071913: Filter out entries to free/uncommitted regions during iteration
Reviewed-by: sjohanss, kbarrett
2018-10-31 13:43:57 +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
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
Thomas Schatzl
d702d5f8d2 8208669: GC changes to allow enabling -Wreorder
Reviewed-by: kbarrett
2018-08-08 15:31:06 +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
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
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
7c09cf644b 8178105: Switch mark bitmaps during Remark
Reviewed-by: sjohanss, sangheki
2018-04-18 11:36:48 +02:00
Per Lidén
4c60e69b97 8201316: Move G1-related static members from JavaThread to G1BarrierSet
Reviewed-by: stefank, shade
2018-04-12 08:25:30 +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