599 Commits

Author SHA1 Message Date
Kim Barrett
087074334d 8238867: Improve G1DirtyCardQueueSet::Queue::pop
Allow one of competing pops for last element to succeed.

Reviewed-by: iwalulya, sjohanss
2020-02-13 15:16:50 -05:00
Thomas Schatzl
78f58c3e39 8238854: Remove superfluous C heap allocation failure checks
Reviewed-by: kbarrett, sjohanss
2020-02-13 11:00:40 +01:00
Kim Barrett
ccbd819a01 8237143: Eliminate DirtyCardQ_cbl_mon
Replace locked data structures with lock-free data structures.

Reviewed-by: tschatzl, sangheki
2020-02-06 19:09:07 -05:00
Thomas Schatzl
358c56bb8b 8238229: Remove TRACESPINNING debug code
Reviewed-by: kbarrett, sjohanss
2020-02-03 10:45:46 +01:00
Thomas Schatzl
77ad678fce 8238220: Rename OWSTTaskTerminator to TaskTerminator
Reviewed-by: sjohanss, sangheki
2020-02-03 10:45:44 +01:00
Thomas Schatzl
76675e93cf 8215297: Remove ParallelTaskTerminator
Remove ParallelTaskTerminator as the alternate OWSTTaskTerminator algorithm has worked well for more than a year now.

Reviewed-by: zgu, sjohanss
2020-02-03 10:45:43 +01:00
Kim Barrett
f262092fd9 8233822: VM_G1CollectForAllocation should always check for upgrade to full
Move upgrade check into do_collection_pause_at_safepoint.

Reviewed-by: tschatzl, sangheki
2020-01-29 15:48:22 -05: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
Jesper Wilhelmsson
b7cdc097e3 Merge 2020-01-22 21:02:16 +01:00
Thomas Schatzl
e3c7f43298 8235305: Corrupted oops embedded in nmethods due to parallel modification during optional evacuation
During optional evacuation it is possible that G1 modifies oops embedded in nmethods in parallel. One source are oop* gathered by a previous evacuation phase in the optional roots, the other the region's strong code roots list. Since these oops may be unaligned on x64, this can result in them being corrupted. The fix is to not gather embedded oops in the optional roots list as the strong code roots list contains them already.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Stefan Johansson <stefan.johansson@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: sjohanss, stefank
2020-01-22 10:00:13 +01:00
Kim Barrett
f779e49590 8237261: Concurrent refinement activation threshold not updated for card counts
Fix special-case threshold calculation for primary refinement thread

Reviewed-by: tschatzl, sjohanss
2020-01-20 14:31:20 -05:00
Kim Barrett
ef5b447b04 8235751: Assertion when triggering concurrent cycle during shutdown
Skip initial mark during shutdown and don't assert when that happens.

Reviewed-by: sjohanss, tschatzl
2020-01-07 17:28:42 -05: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
Yasumasa Suenaga
4778cbbafb 8235819: -Wformat-overflow is reported from GCC 9
Reviewed-by: tschatzl, lkorinth
2019-12-17 10:00:55 +09:00
Stefan Johansson
a20fa5b995 8235427: Remove unnecessary parameters from G1CollectedHeap::free_region and HeapRegion::hr_clear
Reviewed-by: tschatzl, kbarrett
2019-12-11 12:12:39 +01:00
Stefan Karlsson
5b155f05e7 8235324: Dying objects are published from users of CollectedHeap::object_iterate
Reviewed-by: pliden, eosterlund, sjohanss, rkennke
2019-12-04 11:30:32 +01:00
Vladimir Ivanov
eabb5cc21f 8226411: C2: Avoid memory barriers around off-heap unsafe accesses
Reviewed-by: kvn, thartmann, eosterlund, jrose, rkennke
2019-12-09 19:29:35 +03: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
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
Thomas Schatzl
fab3122111 8214277: Use merged G1ArchiveRegionMap for open and closed archive heap regions
Reviewed-by: kbarrett, jiangli
2020-01-09 21:57:18 +01:00
Thomas Schatzl
ea83ced243 8231670: Remove TaskExecutor abstraction used in preserved marks processing
Reviewed-by: sjohanss, kbarrett
2020-01-08 13:33:34 +01:00
Ioi Lam
584db9818a 8236625: Remove writeable macro from JVM flags declaration
Reviewed-by: coleenp, hseigel, gziemski
2020-01-07 18:56:18 -08:00
Mikael Vidstedt
c33466012e Merge 2019-12-20 22:41:53 -08:00
Thomas Schatzl
70c62f537c 8235341: Improve WorkerDataArray API to disallow separate instantiation of sub-items
Reviewed-by: lkorinth, sjohanss
2019-12-06 09:49:59 +01:00
Kim Barrett
577e87e5b2 8234779: Provide idiom for declaring classes noncopyable
Add NONCOPYABLE macro and uses.

Reviewed-by: dholmes, pliden, coleenp
2019-12-03 19:09:30 -05:00
Robbin Ehn
21e03e71aa 8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure
Reviewed-by: dholmes, pliden, coleenp
2019-12-03 15:32:41 +01:00
Thomas Schatzl
67e0f3b490 8234587: Rename the SurvRateGroup class to G1SurvRateGroup
Reviewed-by: kbarrett, sangheki
2019-12-02 14:21:32 +01:00
Thomas Schatzl
62aa051aa9 8234586: Rename survRateGroup.?pp files to g1SurvRateGroup.?pp
Reviewed-by: kbarrett, sjohanss
2019-12-02 14:21:32 +01:00
Thomas Schatzl
5182f694ed 8234179: Move HeapRegion::_recorded_rs_length/_predicted_elapsed_time_ms into G1CollectionSet
Reviewed-by: sjohanss, lkorinth
2019-12-02 14:21:32 +01:00
Thomas Schatzl
eaca9f8846 8234574: Rename prediction methods in G1Analytics
Reviewed-by: sjohanss, sangheki
2019-12-02 14:21:32 +01:00
Thomas Schatzl
c0d5a70efb 8231579: G1's incremental calculation of region elapsed time always uses the same age group for prediction
Separate calculation of time required for copying objects from non-copy time. Calculate the former in bulk, and the latter as usual, combining them as needed.

Reviewed-by: sjohanss, kbarrett
2019-12-02 14:21:32 +01:00
Thomas Schatzl
1534ccfa14 8233588: Clean up SurvRateGroup
Remove unnecessary members, enforce stricter visibility within use.

Reviewed-by: sangheki, kbarrett
2019-12-02 14:21:32 +01:00
Thomas Schatzl
6246b6cc33 8233919: Incrementally calculate the occupied cards in a heap region remembered set
Instead of iterating over the remembered set card containers, continuously update a single counter per remembered set about occupancy.

Reviewed-by: sangheki, sjohanss
2019-12-02 14:21:32 +01:00
Thomas Schatzl
4f0cc5ab4a 8233998: New young regions registered too early in collection set
Reviewed-by: sangheki, sjohanss
2019-11-29 10:20:17 +01:00
Thomas Schatzl
257c3930f9 8227434: G1 predictions may over/underflow with high variance input
Clamp G1 prediction output to sensible values.

Reviewed-by: lkorinth, sjohanss
2019-11-29 10:20:16 +01: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
53263049c9 8234897: 8234748: Clean up atomic and orderAccess includes - part 2
Reviewed-by: tschatzl, dholmes
2019-11-27 11:31:46 +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
Stefan Karlsson
8db2c1158e 8234736: Harmonize parameter order in Atomic - store
Reviewed-by: rehn, dholmes
2019-11-25 12:30:24 +01:00
Stefan Karlsson
e527ce4b57 8234562: Move OrderAccess::release_store*/load_acquire to Atomic
Reviewed-by: rehn, dholmes
2019-11-25 12:22:13 +01:00
Man Cao
5f2ac35cd0 8087198: G1 card refinement: batching, sorting
Reviewed-by: tschatzl, kbarrett
2019-11-22 17:03:55 -08:00
Thomas Schatzl
7d160282f2 8233597: Clean up code in G1Analytics::compute_pause_time_ratio
Reviewed-by: kbarrett, sjohanss
2019-11-22 10:03:38 +01:00
Thomas Schatzl
9915f88688 8233702: Introduce helper function to clamp value to range
Reviewed-by: sjohanss, kbarrett
2019-11-22 10:03:38 +01:00
Thomas Schatzl
79cfb94d36 8234000: Make HeapRegion::bottom/end/hrm_index const
Reviewed-by: kbarrett, sjohanss
2019-11-22 10:03:38 +01:00
Thomas Schatzl
3e492436fd 8233997: Some members of HeapRegion are not cleared in HeapRegion::hr_clear()
Reviewed-by: sjohanss, sangheki
2019-11-22 10:03:38 +01:00
Thomas Schatzl
d29dcafa50 8233306: Sort members in G1's HeapRegion after removal of Space dependency
Reviewed-by: sangheki, sjohanss
2019-11-22 10:03:38 +01:00