Commit Graph

62 Commits

Author SHA1 Message Date
Ioi Lam
d1ad0eaf8f 8233826: Change CDS dumping tty->print_cr() to unified logging
Reviewed-by: coleenp, dholmes, jiangli
2019-12-19 23:04:49 -08:00
Stefan Johansson
9cabfa82ff 8165443: Free Collection Set serial phase takes very long on large heaps
Reviewed-by: tschatzl, kbarrett
2019-12-09 10:26:41 +01:00
Leo Korinth
c023983c7f 8235250: Create (test) abstraction for allocating objects that is immune to removal by optimizations
Reviewed-by: eosterlund, tschatzl
2019-12-05 12:52:07 +01:00
Thomas Schatzl
9a4c25731e 8228609: G1 copy cost prediction uses used vs. actual copied byte
Let the object copy cost predictor use the actual copied bytes as input for the prediction instead of the used bytes.

Reviewed-by: kbarrett, sjohanss
2019-11-21 11:42:54 +01:00
Igor Ignatyev
1d41e86762 8147017: Platform.isGraal should be removed
Reviewed-by: kvn, mseledtsov
2019-11-20 18:23:06 -08:00
Sangheon Kim
46c3d43f83 8220312: Implementation: NUMA-Aware Memory Allocation for G1, Logging (3/3)
Reviewed-by: kbarrett, sjohanss, tschatzl
2019-11-13 10:51:41 -08:00
Sangheon Kim
52116d808c 8220310: Implementation: NUMA-Aware Memory Allocation for G1, Mutator (1/3)
Reviewed-by: kbarrett, sjohanss, tschatzl, pliden
2019-11-13 10:49:12 -08: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
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
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
Erik Österlund
f869706f5f 8224815: Remove non-GC uses of CollectedHeap::is_in_reserved()
Reviewed-by: stefank, coleenp
2019-09-05 08:26:49 +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
Kim Barrett
1acad37ee6 8227054: ServiceThread needs to know about all OopStorage objects
8227053: ServiceThread cleanup of OopStorage is missing some

OopStorages provides named access and iteration.

Reviewed-by: eosterlund, pliden, coleenp
2019-08-21 18:42:30 -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
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
Ao Qi
e6ace7be6f 8220813: update hotspot tier1_gc tests depending on GC to use @requires vm.gc.X
Reviewed-by: pliden, lmesnik
2019-04-26 11:33:32 -07:00
Sangheon Kim
4494be3b5f 8221517: G1: Reserved page size for heap can be wrong
Reviewed-by: tschatzl, kbarrett
2019-04-01 14:54:48 -07:00
Thomas Schatzl
efe03d5a90 8219100: Improve do_collection_pause_at_safepoint
Reviewed-by: kbarrett, sangheki
2019-03-25 14:11:09 +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
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
Leo Korinth
b09dfdbc01 8217389: JTREG: Clean up, remove unused variable warnings
Reviewed-by: lmesnik, tschatzl
2019-02-18 12:08:08 +01:00
Leo Korinth
3d13ab6882 8217385: JTREG: Clean up, make sure to close resources
Reviewed-by: tschatzl, sangheki
2019-02-18 10:48:48 +01:00
Leo Korinth
f3cb008ce2 8217332: JTREG: Clean up, use generics instead of raw types
Reviewed-by: tschatzl, sangheki
2019-02-08 12:09:41 +01:00
Leo Korinth
2aa7590846 8217329: JTREG: Clean up, remove unused imports in gc folder
Reviewed-by: lmesnik, tschatzl
2019-02-08 11:52:33 +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
Leo Korinth
4d4b205e70 8214799: Add package declaration to each JTREG test case in the gc folder
Reviewed-by: lmesnik, tschatzl
2019-01-28 15:53:56 +01:00
Paul Hohensee
ddfcf1f021 8217520: Remove vm.opt.MaxGCPauseMillis == "null" from TestOldGenCollectionUsage.java
Remove the corresponding @requires line

Reviewed-by: tschatzl
2019-01-24 10:57:31 -08:00
Thomas Schatzl
39d17b706b 8216490: Spammy periodic GC log message contains random time stamp with periodic gc disabled
Print periodic gc status at startup and only print regular messages if enabled.

Reviewed-by: sangheki, kbarrett
2019-01-16 11:43:51 +01: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
Thomas Schatzl
49efeb69ff 8212657: Implementation of JDK-8204089 Promptly Return Unused Committed Memory from G1
Issue optional, default enabled, concurrent cycles when the VM is idle to reclaim unused internal and Java heap memory.

Co-authored-by: Rodrigo Bruno <rbruno@gsd.inesc-id.pt>
Co-authored-by: Ruslan Synytsky <rs@jelastic.com>
Reviewed-by: sjohanss, sangheki
2018-12-10 10:25:27 +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
Tobias Hartmann
18d4a423f9 8150552: Remove -XX:+AggressiveOpts
Removed the -XX:+AggressiveOpts flags and its usages.

Reviewed-by: ecaspole, sjohanss
2018-10-24 12:39:37 +02:00
Jiangli Zhou
989d55d3ed 8210193: [TESTBUG]gc/g1/mixedgc/TestOldGenCollectionUsage.java fails intermittently with OutOfMemoryError in CDS mode
Increase java heap size in TestOldGenCollectionUsage. Catch OOM in tests.

Reviewed-by: phh, iklam
2018-09-13 13:30:07 -04: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
Ekaterina Pavlova
582c0dafb8 8199486: [Graal] gc/g1/ihop/TestIHOPStatic.java fails by timeout with -Xcomp
Reviewed-by: kvn
2018-08-13 04:02:51 -07:00
Igor Ignatyev
17891770c1 8208655: use JTreg skipped status in hotspot tests
Reviewed-by: kvn, hseigel, iklam
2018-08-02 14:40:55 -07:00
Jean Christophe Beyler
fc9941ae72 8169004: Fix redundant @requires tags in tests
Reviewed-by: tschatzl, iignatyev
2018-07-31 12:24:47 -07:00
Jean Christophe Beyler
ec76c2046c 8069343: Improve gc/g1/TestHumongousCodeCacheRoots.java to use jtreg @requires
Remove client test entirely and clean up test

Reviewed-by: tschatzl, iignatyev
2018-08-01 09:23:24 -07:00
Thomas Schatzl
cb9a168f8b 8205426: Humongous continues remembered set does not match humongous start region one after Remark
Remembered set states for humongous objects crossing an internal per-thread processing threshold could synchronized if the humongous continues regions were processed first.

Reviewed-by: ehelin, kbarrett
2018-07-09 10:19:51 +02:00
Thomas Schatzl
19f5116cd9 8204082: Make names of Young GCs more uniform in logs
All G1 young gcs now start with "Pause Young" plus a more detailed description

Reviewed-by: sjohanss
2018-06-26 11:09:42 +02:00
Paul Hohensee
ebe240f3f4 8195115: G1 Old Gen MemoryPool CollectionUsage.used values don't reflect mixed GC results
Memory pools can now be optional collection participants, e.g., G1 Old Gen in an incremental collection.

Reviewed-by: ehelin, mchung
2018-06-19 05:18:49 -07: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
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
Thomas Schatzl
945342f1ef 8193067: gc/g1/TestVerifyGCType.java still unstable
Fix number of gc threads and heap waste percentage to trigger mixed gcs reproducibly

Reviewed-by: sjohanss, pliden
2018-03-27 11:05:01 +02:00