Commit Graph

162 Commits

Author SHA1 Message Date
Stefan Johansson
ce44cd6881 8267845: Add @requires to avoid running G1 large pages test with wrong page size
Reviewed-by: tschatzl, kbarrett
2021-05-31 12:08:24 +00:00
Kim Barrett
be0a655208 8254598: StringDedupTable should use OopStorage
Co-authored-by: Kim Barrett <kbarrett@openjdk.org>
Co-authored-by: Zhengyu Gu <zgu@openjdk.org>
Reviewed-by: coleenp, iklam, tschatzl, ayang
2021-05-14 18:38:58 +00:00
Philippe Marschall
ab17be2835 8252530: Fix inconsistencies in hotspot whitebox
Reviewed-by: dholmes, amenkov
2021-05-12 23:14:30 +00:00
Thomas Schatzl
14f0afe811 8214237: Join parallel phases post evacuation
Reviewed-by: iwalulya, sjohanss
2021-05-07 11:38:29 +00:00
Thomas Schatzl
072ae7ec5e 8265436: G1: Improve gc+phases log output during full gc
Reviewed-by: ayang, mli
2021-04-20 10:36:12 +00:00
Ivan Walulya
d9e40dd593 8199407: Skip Rebuild Remset Phase if there are no rebuild candidates
Reviewed-by: tschatzl, sjohanss
2021-04-19 14:37:16 +00:00
Ivan Walulya
fc89fe6458 8265119: G1: update_remset_before_rebuild mixes liveness in words with liveness in bytes
Reviewed-by: tschatzl, sjohanss
2021-04-16 07:29:55 +00:00
Daniel D. Daugherty
f4794378d4 8265082: test/hotspot/jtreg/gc/g1/TestG1SkipCompaction.java fails validate-source
Reviewed-by: mikael, erikj
2021-04-12 16:13:54 +00:00
Hamlin Li
be0d46c142 8262068: Improve G1 Full GC by skipping compaction for regions with high survival ratio
Co-authored-by: Shoubing Ma <mashoubing1@huawei.com>
Reviewed-by: sjohanss, ayang
2021-04-12 12:41:11 +00:00
Igor Ignatyev
d825198e55 8263556: remove @modules java.base from tests
Reviewed-by: dcubed, naoto, iris
2021-03-15 17:05:28 +00:00
Igor Ignatyev
a7aba2b61c 8263549: 8263412 can cause jtreg testlibrary split
Reviewed-by: iklam, dcubed
2021-03-13 14:51:53 +00:00
Kim Barrett
f304b74e0a 8261859: gc/g1/TestStringDeduplicationTableRehash.java failed with "RuntimeException: 'Rehash Count: 0' found in stdout"
Reviewed-by: ayang, sjohanss, tschatzl
2021-03-02 18:23:30 +00:00
Stefan Johansson
f639df435e 8261401: Add sanity check for UseSHM large pages similar to the one used with hugetlb large pages
Reviewed-by: stuefe, tschatzl
2021-02-17 12:03:25 +00:00
Christoph Göttschkes
2e18b52aed 8261752: Multiple GC test are missing memory requirements
Reviewed-by: tschatzl, sjohanss
2021-02-17 10:41:38 +00:00
Christoph Göttschkes
c7885eb1c5 8261758: [TESTBUG] gc/g1/TestGCLogMessages.java fails if ergonomics detect too small InitialHeapSize
Reviewed-by: tschatzl, sjohanss
2021-02-17 10:40:46 +00:00
Stefan Johansson
9f81ca8175 8261230: GC tracing of page sizes are wrong in a few places
Reviewed-by: ayang, stuefe
2021-02-12 14:56:25 +00:00
Thomas Schatzl
b549cbd392 8258481: gc.g1.plab.TestPLABPromotion fails on Linux x86
Reviewed-by: sjohanss, kbarrett
2021-01-08 10:52:08 +00:00
Roger Riggs
1dae45d745 8250523: Remove abortOnException diagnostic option from TestHumongousNonArrayAllocation.java
Reviewed-by: kbarrett
2020-12-18 16:34:17 +00:00
Dongbo He
b28b0947d9 8257145: Performance regression with -XX:-ResizePLAB after JDK-8079555
Co-authored-by: Junjun Lin <linjunjun@huawei.com>
Reviewed-by: tschatzl, sjohanss
2020-12-11 09:06:10 +00:00
Jie Fu
f2a0988a4a 8257228: G1: SIGFPE in G1ConcurrentRefine::create(int*) due to buffers_to_cards overflow
Reviewed-by: kbarrett, tschatzl
2020-12-02 06:49:57 +00:00
Stefan Johansson
b8244b606e 8236926: Concurrently uncommit memory in G1
Reviewed-by: ayang, tschatzl
2020-11-19 17:55:33 +00:00
Thomas Schatzl
cd66e0f25f 8253877: gc/g1/TestGCLogMessages.java fails - missing "Evacuation failure" message
Reviewed-by: sjohanss
2020-10-19 11:40:58 +00:00
Thomas Schatzl
07ec35e2e5 8254623: gc/g1/TestHumongousConcurrentStartUndo.java still fails sometimes
Reviewed-by: kbarrett, sjohanss
2020-10-16 15:21:37 +00:00
Thomas Schatzl
894ec76c11 8254027: gc/g1/TestHumongousConcurrentStartUndo.java failed with "'Concurrent Mark Cycle' missing from stdout/stderr"
Reviewed-by: sjohanss, kbarrett
2020-10-08 07:43:32 +00:00
Thomas Schatzl
37b70282b5 8240556: Abort concurrent mark after effective eager reclamation of humongous objects
Reviewed-by: sjohanss, ayang
2020-09-25 07:11:55 +00:00
Daniel D. Daugherty
d8921ed573 8247281: migrate ObjectMonitor::_object to OopStorage
Co-authored-by: Erik Österlund <erik.osterlund@oracle.com>
Co-authored-by: Daniel Daugherty <daniel.daugherty@oracle.com>
Reviewed-by: eosterlund, coleenp, dholmes, stefank, kbarrett, rkennke, sspitsyn
2020-09-21 22:12:07 +00:00
Coleen Phillimore
0c9e0c2e7f 8244997: Convert the JavaThread::_threadObj oop to use OopStorage
Move the oop and handle releasing it in the service thread.  Remove Universe::oops_do from callers.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: dholmes, zgu, eosterlund, cjplummer
2020-08-07 07:53:26 -04:00
Roger Riggs
a0149f53f1 8249217: Unexpected StackOverflowError in "process reaper" thread still happens
Reviewed-by: martin, plevart, dholmes
2020-07-24 11:00:50 -04:00
Coleen Phillimore
99eccaf6ec 8247878: Move Management strong oops to OopStorage
Use OopStorage for strong oops stored with memory and thread sampling and dumping, and remove oops_do and GC calls.

Reviewed-by: dholmes, kbarrett
2020-07-20 07:50:27 -04:00
Coleen Phillimore
749be7e761 8247808: Move JVMTI strong oops to OopStorage
Remove JVMTI oops_do calls from JVMTI and GCs

Reviewed-by: sspitsyn, stefank, zgu, dholmes, iklam
2020-07-16 08:29:11 -04:00
Thomas Schatzl
6b911624f2 8210462: Fix remaining mentions of initial mark
Reviewed-by: lkorinth, kbarrett
2020-07-09 16:22:23 +02:00
Thomas Schatzl
18cddad5a2 8247819: G1: Process strong OopStorage entries in parallel
Implement parallel processing of strong OopStorage entries for G1.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: kbarrett, stefank
2020-06-26 14:43:09 +02:00
Daniel D. Daugherty
3e4ad5d8d1 8246477: add whitebox support for deflating idle monitors
Reviewed-by: dholmes, eosterlund
2020-06-24 17:48:53 -04:00
Igor Ignatyev
dc91b06661 8244614: cleanup keywords used/available in hotspot testbase
Reviewed-by: coleenp, mseledtsov
2020-06-08 21:27:22 -07:00
Coleen Phillimore
498b0e61ed 8246340: Move SystemDictionary GC roots into OopStorage
Use vm_global() OopStorage for system dictionary roots

Reviewed-by: eosterlund, lfoltan
2020-06-05 09:55:31 -04:00
Stefan Johansson
6e1403480a 8245724: Move g1 periodic gc logging to G1InitLogger
Reviewed-by: kbarrett, tschatzl
2020-05-27 11:48:33 +02:00
Mikael Vidstedt
071bd521bc 8244224: Implementation of JEP 381: Remove the Solaris and SPARC Ports
Reviewed-by: alanb, bchristi, dcubed, dfuchs, eosterlund, erikj, glaubitz, ihse, iignatyev, jjiang, kbarrett, ksrini, kvn, naoto, prr, rriggs, serb, sspitsyn, stefank, tschatzl, valeriep, weijun, weijun
2020-05-20 17:33:37 -07:00
Stefan Karlsson
81597d9f8f 8244078: ProcessTools executeTestJvm and createJavaProcessBuilder have inconsistent handling of test.*.opts
Reviewed-by: dholmes, cjplummer
2020-05-04 21:20:39 +02:00
Igor Ignatyev
e7aafcd61d 8243933: use driver mode in gc tests
Reviewed-by: kbarrett
2020-04-29 07:08:31 -07:00
Stefan Karlsson
35af52dd4f 8244010: Simplify usages of ProcessTools.createJavaProcessBuilder in our tests
Reviewed-by: lmesnik, iignatyev, coleenp, dholmes
2020-04-29 08:52:18 +02:00
Igor Ignatyev
70e632d5ec 8243935: remove copying of s.h.WB$WhiteBoxPermission in hotspot tests
Reviewed-by: dholmes, stefank
2020-04-28 19:57:02 -07:00
Igor Ignatyev
a740f83da3 8243930: update copyright years
Reviewed-by: dholmes
2020-04-27 17:58:27 -07:00
Igor Ignatyev
d84e4f1fd6 8243565: some gc tests use 'test.java.opts' and not 'test.vm.opts'
Reviewed-by: stefank
2020-04-27 10:25:29 -07:00
Igor Ignatyev
5efa545d48 8242312: use reproducible random in hotspot gc tests
Reviewed-by: kbarrett, tschatzl
2020-04-14 12:50:09 -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
Thomas Schatzl
7048684ca7 8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments
Reviewed-by: sjohanss, kbarrett
2020-03-27 09:44:53 +01:00
Kim Barrett
9f334a1640 8240239: Replace ConcurrentGCPhaseManager
Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints

Co-authored-by: Per Liden <per.liden@oracle.com>
Reviewed-by: kbarrett, pliden, sangheki
2020-03-06 18:42:13 -05:00
Thomas Schatzl
ffcc582601 8237079: gc/g1/mixedgc/TestLogging.java fails with "Pause Young (Mixed) (G1 Evacuation Pause) not found"
Factor out multiple attempts at forcing a mixed gc into a single one and update the tests to use the new code. Change command line arguments for the tests to further decrease the possibility of failures.

Reviewed-by: lkorinth, kbarrett
2020-01-23 14:42:49 +01:00
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
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
Thomas Schatzl
89f2d14518 8235934: gc/g1/TestGCLogMessages.java fails with 'DerivedPointerTable Update' found
Fix determining whether C2 or JVMCI are enabled in the test.

Reviewed-by: sjohanss, kbarrett
2020-01-08 14:36:48 +01: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