78 Commits

Author SHA1 Message Date
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
0a6207fe69 8224038: Fix remaining InCSetState mentions
Reviewed-by: kbarrett
2019-05-17 12:33:37 +02:00
Thomas Schatzl
3d149df158 8200545: Improve filter for enqueued deferred cards
Reviewed-by: kbarrett, sangheki
2019-05-14 15:36:26 +02:00
Sangheon Kim
cb62a78492 8221509: Refactor assert( G1CollectedHeap::used() == recalculate_used() ) with better message
Reviewed-by: tschatzl, manc
2019-05-06 14:19:48 -07:00
Stefan Karlsson
087c03a0c7 8198505: Remove CollectorPolicy and its subclasses
Reviewed-by: pliden, shade
2019-04-15 11:47:46 +02:00
Sangheon Kim
bb31c7d085 8218049: Survivor MemoryMXBean used() size granularity is region based
Reviewed-by: tschatzl, kbarrett
2019-04-08 12:15:40 -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
Per Lidén
a7dd794beb 8221648: Remove CollectedHeap::is_in_closed_subset()
Reviewed-by: kbarrett, tschatzl
2019-04-02 10:04:25 +02:00
Stefan Karlsson
abb2d67803 8220610: Make CollectedHeap nmethod functions pure virtual
Reviewed-by: shade
2019-04-01 18:34:39 +02:00
Thomas Schatzl
efe03d5a90 8219100: Improve do_collection_pause_at_safepoint
Reviewed-by: kbarrett, sangheki
2019-03-25 14:11:09 +01:00
Stefan Karlsson
2370adc703 8220343: Move scavenge_root_nmethods from shared code
Reviewed-by: kvn, eosterlund
2019-03-14 09:15:51 +01:00
Per Lidén
c6917cc27e 8219817: Remove unused CollectedHeap::block_size()
Reviewed-by: shade, stefank
2019-03-13 11:31:00 +01:00
Thomas Schatzl
3d9de2e6f2 8219856: Spell out G1CollectorPolicy::is_hetero_heap
Reviewed-by: sangheki, kbarrett
2019-03-04 11:49:16 +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
Thomas Schatzl
e68d585a8d 8218880: G1 crashes when issuing a periodic GC while the GCLocker is held
Do not wait for the GC locker in the periodic GC thread as the GC locker being held is an indication for being busy anyway.

Reviewed-by: kbarrett, shade
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
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
Kim Barrett
1fcbd0cd0d 8217474: Remove WhiteBox.getConcurrentGCPhases()
Remove function and supporting infrastructure.

Reviewed-by: shade, tschatzl
2019-02-05 16:46:49 -05: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
Thomas Schatzl
0c352cc57f 8217374: Rename G1 EvacuationInfo class to G1EvacuationInfo
Reviewed-by: phh, kbarrett
2019-01-21 12:19:00 +01:00
Coleen Phillimore
154a1a02bf 8216167: Update include guards to reflect correct directories
Use script and some manual fixup to fix directores names in include guards.

Reviewed-by: lfoltan, eosterlund, kbarrett
2019-01-10 15:13:51 -05:00
Kishor Kharbas
d580e2eed2 8211425: Allocation of old generation of java heap on alternate memory devices - G1 GC
8202286: Allocation of old generation of Java heap on alternate memory devices

Enable an experimental feature in HotSpot JVM to allocate old generation of G1 GC on an alternative memory device, such as NV-DIMMs.

Reviewed-by: sangheki, sjohanss
2018-12-21 08:18:59 -08:00
Thomas Schatzl
7223ed2205 8152724: Sum of eden before GC and current survivor capacity may be larger than heap size
Limit the maximum survivor size for a given GC to the remaining number of free regions.

Reviewed-by: sjohanss, sangheki
2018-12-12 12:00:02 +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
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
Stefan Johansson
bde8307cf9 8214118: HeapRegions marked as archive even if CDS mapping fails
Reviewed-by: tschatzl, jiangli
2018-11-23 10:57:07 +01:00
Thomas Schatzl
0d19f0bb51 6490394: G1: Allow heap shrinking / memory unmapping after reclaiming regions during Remark
Reviewed-by: sjohanss, sangheki
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
Thomas Schatzl
a19321464c 8210467: Remove unused G1CollectedHeap::_max_heap_capacity
Reviewed-by: sjohanss, phh
2018-09-11 09:14:36 +02:00
Thomas Schatzl
db7b4e20e1 8207200: Committed > max memory usage when getting MemoryUsage
Make sure that modification of memory usage variables are synchronized with returning them to Java.

Reviewed-by: sangheki, mchung
2018-09-04 12:18:35 +02:00
Thomas Schatzl
0d78eb91db 8209061: Move G1 serviceability functionality to G1MonitoringSupport
Reviewed-by: phh, sangheki
2018-08-22 20:37:07 +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
Gerard Ziemski
b75805c1a5 8195100: Use a low latency hashtable for SymbolTable
Used concurrentHashTable, similar to stringTable

Reviewed-by: coleenp, kbarrett, iklam, pliden
2018-08-14 18:42:14 -05:00
Thomas Schatzl
d702d5f8d2 8208669: GC changes to allow enabling -Wreorder
Reviewed-by: kbarrett
2018-08-08 15:31:06 +02:00
Kim Barrett
df34500027 8204585: Remove IN_ARCHIVE_ROOT from Access API
Replaced Access API with API on heap.

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: jiangli, coleenp, tschatzl
2018-06-12 18:12:59 -04: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
6ff0af73ce 8202829: Implement CollectedHeap::get_safepoint_workers() for G1
Use the parallel STW worker gang to do safepoint work.

Reviewed-by: rkennke, eosterlund, pliden
2018-05-14 11:47:03 +02:00
Stefan Karlsson
99072b90d7 8202647: Add deduplicate_string function to CollectedHeap
Reviewed-by: rehn, sjohanss
2018-05-07 14:57:25 +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
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
Stefan Johansson
7f7d103c85 8191471: Elastic TLABs for G1
Reviewed-by: tschatzl, pliden
2018-05-02 13:44: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
Leo Korinth
30079a437a 8201171: Cleanup in g1CollectedHeap, change CamelCase to snake_case
Reviewed-by: sjohanss, tschatzl
2018-04-05 14:25:53 +02:00
Erik Helin
b025fab0d2 8200626: Restore history for g1ConcurrentMarkThread.*
Reviewed-by: shade, sjohanss
2018-04-04 10:12:02 +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
5524494066 8199742: Clean up state flags in G1CollectorState
Remove, merge and update naming of flags in G1CollectorState

Reviewed-by: sangheki, sjohanss
2018-03-29 14:07:59 +02:00
Thomas Schatzl
7995d17bca 8199326: Remove G1 gc time stamp logic
G1 gc time stamp logic is unused completely after JDK-8180415, so removing it.

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
Per Lidén
3b7962d614 8199918: Shorten names of CollectedHeap::Name members
Reviewed-by: shade, eosterlund
2018-03-28 11:38:47 +02:00