406 Commits

Author SHA1 Message Date
Kim Barrett
6d064a747e 8230332: G1DirtyCardQueueSet _notify_when_complete is always true
Removed _notify_when_complete, assume true value where formerly used.

Reviewed-by: sjohanss, tschatzl
2019-08-29 18:52:30 -04:00
Kim Barrett
b6b6a37fe1 8230109: G1DirtyCardQueueSet should use card counts rather than buffer counts
Consistently use card counts

Reviewed-by: sjohanss, sangheki
2019-08-29 18:35:52 -04:00
Evgeny Mandrikov
ac7b48d1ed 8215166: Remove unused G1PretouchAuxiliaryMemory option
Removed experimental option.

Reviewed-by: kbarrett
2019-08-28 14:37:45 -04:00
Kim Barrett
a34e8be4f3 8230126: delay_to_keep_mmu can delay shutdown
Wait on CGC_lock instead of sleeping to provide the delay.

Reviewed-by: sangheki, sjohanss
2019-08-28 14:06:37 -04:00
Erik Österlund
855f16ef50 8229278: Improve hs_err location printing to assume less about GC internals
Reviewed-by: stefank, kbarrett
2019-08-28 11:19:09 +02:00
Kim Barrett
b0632088a8 8230192: Rename G1RedirtyCardsBufferList to G1BufferNodeList
Rename class and move to new files.

Reviewed-by: sjohanss, lkorinth
2019-08-27 11:05:17 -04:00
Stefan Karlsson
e1aca70a1c 8229836: Remove include of globals.hpp from allocation.hpp
Reviewed-by: coleenp, kbarrett
2019-08-26 09:13:38 +02:00
Stefan Karlsson
ebf98ac78c 8229839: Break circular dependency between oop.inline.hpp and markWord.inline.hpp
Reviewed-by: pliden, tonyp
2019-08-19 12:40:27 +02:00
Stefan Karlsson
a3d6be2b2d 8229838: Rename markOop files to markWord
Reviewed-by: dholmes, rehn
2019-08-19 11:30:03 +02:00
Thomas Schatzl
f543e8e4ea 8227442: Make young_index_in_cset zero-based
Avoid unnecessary increment of young_index_in_cset in copy_to_survivor_space.

Reviewed-by: kbarrett, sangheki
2019-08-20 09:22:18 +02:00
Kim Barrett
0b9a90e0d1 8229044: G1RedirtyCardsQueueSet should be local to a collection
Stack allocate redirty qsets in do_collection_pause_at_safepoint.

Reviewed-by: tschatzl, sangheki
2019-08-16 14:46:52 -04:00
Stefan Karlsson
ae5615c614 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
Reviewed-by: rkennke, coleenp, kbarrett, dcubed
2019-08-06 10:48:21 +02:00
Jesper Wilhelmsson
c11080efd9 Merge 2019-08-09 03:51:20 +02:00
Tobias Hartmann
976a5c6166 8229219: C2 compilation fails with assert: Bad graph detected in build_loop_late
Backed out JDK-8173196.

Reviewed-by: shade, rbackman
2019-08-08 07:05:17 +02:00
Thomas Schatzl
c64f70be82 8228503: Rename "rs_lengths" to "rs_length" in ergo code
Reviewed-by: pliden, kbarrett
2019-08-07 10:29:07 +02:00
Man Cao
1b1f8d48db 8225776: Optimize branch frequency of G1's write post-barrier in C2
Co-authored-by: Chuck Rasbold <rasbold@google.com>
Reviewed-by: tschatzl, dlong
2019-08-05 13:18:31 -07:00
Kim Barrett
6d65b4fd25 8048556: Unnecessary GCLocker-initiated young GCs
Fixed recognition of unnecessary GCLocker collections.

Reviewed-by: pliden, tschatzl
2019-07-31 14:28:51 -04:00
Zhengyu Gu
f2e1bfa38a 8227927: Move ParallelCleaningTask back to G1
Reviewed-by: tschatzl, kbarrett
2019-07-24 08:34:06 -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
b3c21d9a9b 8227719: G1 Pending cards estimation too conservative in cost prediction
Instead of using a coarse prediction for the log buffers, accumulate the actual number directly.

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
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
1ddf09fb12 8227090: G1 does not account the OptMergeRS in cost per card calculation
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +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
5a0525a560 8227671: G1: assert_used_and_recalculate_used_equal performs work in product builds
Reviewed-by: kbarrett, sangheki
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
Antonios Printezis
dacaff48e2 8223575: add subspace transitions to gc+metaspace=info log lines
Reviewed-by: stuefe, tschatzl
2019-07-03 15:46:48 -04:00
Coleen Phillimore
74b8b47283 8225437: JvmtiExport::gc_epilogue is unnecessary
Remove jvmtiExport::gc_epilogue after full GCs

Reviewed-by: dholmes, sspitsyn, dlong
2019-06-27 11:40:18 -04: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
Kim Barrett
805258f3a9 8225255: Make SATB qset lock-free
Refactor PtrQueueSet, use lock-free stack for SATB completed buffers

Reviewed-by: tschatzl, shade
2019-06-26 13:18:38 -04:00
Andrew Haley
41ca20f5b5 8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding
Reviewed-by: kbarrett, tschatzl
2019-06-18 16:15:15 +01:00
Thomas Schatzl
55492a7d8b 8225418: G1: region attribute remembered set state disagrees with actual remembered set state
Keep remembered set update information when updating region attributes when abandoning the remaining collection set after mixed gc.

Reviewed-by: kbarrett, mdoerr
2019-06-13 11:54:55 +02:00
Sangheon Kim
62d7317f86 8225478: Make G1CMRootRegions independent of HeapRegions
Remove dependency of HeapRegion from G1CMRootRegions class

Reviewed-by: tschatzl, kbarrett
2019-06-12 10:34:29 +02:00
Andrew Haley
f66bd2d52e 8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding
Reviewed-by: kbarrett, tschatzl
2019-06-18 16:15:15 +01:00
Coleen Phillimore
7235c5b0e2 8224151: Test vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java might hang with release binaries
Fix deadlock on ClassLoaderDataGraph_lock and g1 clear_claimed_marks.

Reviewed-by: tschatzl, lfoltan, eosterlund
2019-06-06 15:09:17 -04:00
Kishor Kharbas
f0f679de2a 8224247: AllocateOldGenAt fires assertion failure
Split the heap_reserved_size_bytes() into two methods - one for use during heap initialization and other for at later stages.

Reviewed-by: sangheki, tschatzl
2019-06-03 11:04:24 -07:00
Roland Westrelin
98b1d8c798 8173196: [REDO] C2 does not optimize redundant memory operations with G1
Reviewed-by: thartmann, kvn
2019-05-21 15:46:09 +02:00
Thomas Schatzl
d36c7bad82 8223693: Memory wastage in size of per-region type buffers in GC
Reviewed-by: kbarrett, sangheki
2019-06-03 10:51:28 +02:00
Thomas Schatzl
ac21f1bdd5 8223162: Improve ergonomics for Sparse PRT entry sizing
Scale Sparse PRT table sizes exponentially according to region size.

Reviewed-by: kbarrett, sangheki
2019-06-03 10:50:14 +02:00
Stefan Karlsson
4914e0ee95 8224203: Remove need to specify type when using FLAG_SET macros
Reviewed-by: rehn, pliden, coleenp
2019-05-22 13:06:31 +02:00
Stefan Karlsson
c9846fce19 8224201: Simplify JVM flag macro expansions
Reviewed-by: rehn, kvn, stuefe, tschatzl, coleenp, gziemski
2019-05-22 13:05:37 +02:00
Thomas Schatzl
8c6727240e 8224160: Move G1RemSetScanClosure into g1RemSet.cpp file
Reviewed-by: kbarrett, sangheki
2019-05-22 11:19:14 +02:00
Kim Barrett
54d0b2a8d6 8224167: Refactor PtrQueue completed buffer processing
Add handle_completed_buffer and refactor.

Reviewed-by: tschatzl, shade
2019-05-21 19:19:44 -04: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
0a6207fe69 8224038: Fix remaining InCSetState mentions
Reviewed-by: kbarrett
2019-05-17 12:33:37 +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