30 Commits

Author SHA1 Message Date
Aditya Mandaleeka
e63b90cc17 8251358: Clean up Access configuration after Shenandoah barrier change
Reviewed-by: eosterlund, rkennke, shade
2020-09-29 07:25:08 +00:00
Thomas Schatzl
6b911624f2 8210462: Fix remaining mentions of initial mark
Reviewed-by: lkorinth, kbarrett
2020-07-09 16:22:23 +02:00
Kim Barrett
e9b8463d3d 8245236: Remove MO_VOLATILE Access decorator
Use MO_RELAXED instead of MO_VOLATILE and removed MO_VOLATILE.

Reviewed-by: stefank, tschatzl
2020-05-20 02:02:48 -04:00
Kim Barrett
1856ff8913 8244684: G1 abuses StarTask to also include partial objarray scan tasks
New ScannerTask and PartialArrayScanTask, initially used by G1

Reviewed-by: tschatzl, sjohanss
2020-05-14 08:24:36 -04: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
Thomas Schatzl
f92526e6fd 8231189: Rename worker_i parameters to worker_id
Reviewed-by: kbarrett, sjohanss
2019-09-23 11:37:08 +02:00
Per Lidén
b053f09769 8231113: Remove CollectedHeap::check_oop_location()
Reviewed-by: stefank, eosterlund, tschatzl
2019-09-19 16:05:47 +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
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
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
3d149df158 8200545: Improve filter for enqueued deferred cards
Reviewed-by: kbarrett, sangheki
2019-05-14 15:36:26 +02: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
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
613912a595 8159440: Move marking of promoted objects during initial mark into the concurrent phase
Reviewed-by: sjohanss, kbarrett
2018-12-06 13:55:22 +01:00
Thomas Schatzl
4da555c7a8 8213142: Use RAII to set the scanning source in G1ScanEvacuatedObjClosure
Reviewed-by: sangheki, kbarrett
2018-10-31 13:43:57 +01:00
Thomas Schatzl
28c9f22ebb 8212911: Unify and micro-optimize handling of non-in-collection set references in oop closures
Reviewed-by: kbarrett, sjohanss
2018-10-31 13:43:57 +01:00
Stefan Karlsson
11813888b8 8204540: Automatic oop closure devirtualization
Reviewed-by: kbarrett, eosterlund
2018-05-26 06:59:49 +02:00
Kim Barrett
b84c23399e 8205459: Rename Access API flag decorators
Rename OOP_NOT_NULL, IN_HEAP_ARRAY, AS_DEST_NOT_INITIALIZED

Reviewed-by: pliden, stefank
2018-06-22 17:46:58 -04:00
Thomas Schatzl
0f583c7817 6672778: G1 should trim task queues more aggressively during evacuation pauses
Regularly try to drain task queues. This helps memory usage and performance during garbage collection.

Reviewed-by: sjohanss, sangheki
2018-04-27 12:06: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
Thomas Schatzl
6e6a9ea8aa 8200233: Simple G1 evacuation path performance enhancements
Implement some minor performance optimizations in the evacuation path including changing some stores to be OOP_NOT_NULL, specializing the compressed/uncompressed oops path and delay some load of the current heapregion until absolutely necessary.

Reviewed-by: kbarrett, sjohanss
2018-04-11 11:41:30 +02:00
Roman Kennke
389d720746 8199735: Mark word updates need to use Access API
Reviewed-by: shade, eosterlund
2018-04-05 10:54:53 +02:00
Thomas Schatzl
c30aef79df 8180415: Rebuild remembered sets during the concurrent cycle
In general maintain remembered sets of old regions only from the start of the concurrent cycle to the mixed gc they are used, at most until the end of the mixed phase.

Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:43 +02:00
Thomas Schatzl
28fb5548de 8197850: Calculate liveness in regions during marking
Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:43 +02:00
Stefan Karlsson
f89abe4589 8199946: Move load/store and encode/decode out of oopDesc
Reviewed-by: eosterlund, coleenp, tschatzl
2018-03-15 21:24:10 +01:00
Erik Helin
6fb24f87da 8197847: Remove unused file g1ParScanThreadState_ext.cpp
Reviewed-by: sjohanss, eosterlund
2018-03-05 11:32:17 +01:00
Thomas Schatzl
b0e4bce398 8129440: G1 crash during concurrent root region scan
Make concurrent memory accesses to oops on the heap volatile to avoid reloading by the compiler duplicating oop loading code.

Reviewed-by: ehelin, eosterlund
2018-01-11 11:28:51 +01:00
Stefan Johansson
6929e0f05a 8186571: Implementation: JEP 307: Parallel Full GC for G1
Improve G1 worst-case latencies by making the full GC parallel.

Reviewed-by: tschatzl, sangheki, ehelin
2017-11-14 11:33:23 +01:00
Coleen Phillimore
73a801bc43 8186777: Make Klass::_java_mirror an OopHandle
Add indirection for fetching mirror so that GC doesn't have to follow CLD::_klasses

Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Reviewed-by: hseigel, thartmann, eosterlund, stefank
2017-10-03 16:42:04 -04:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00