55 Commits

Author SHA1 Message Date
Thomas Schatzl
2b41459e95 8267073: Race between Card Redirtying and Freeing Collection Set regions results in missing remembered set entries with G1
Reviewed-by: kbarrett, sjohanss
2021-06-10 13:28:55 +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
Thomas Schatzl
b930bb1a2c 8265461: G1: Forwarding pointer removal thread sizing
Reviewed-by: iwalulya, lkorinth, sjohanss
2021-04-22 18:19:18 +00:00
Stefan Karlsson
a79f095697 8263721: Unify oop casting
Reviewed-by: kbarrett, coleenp
2021-03-24 10:28:38 +00:00
Kim Barrett
d423d368e7 8258508: Merge G1RedirtyCardsQueue into qset
Reviewed-by: tschatzl, iwalulya
2021-02-03 00:52:09 +00:00
Ioi Lam
ffbcf1b0a7 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass
Reviewed-by: lfoltan, hseigel, dholmes, stuefe
2021-02-02 23:40:29 +00:00
Kim Barrett
77f6290995 8258254: Move PtrQueue flush to PtrQueueSet subclasses
Reviewed-by: tschatzl, shade
2021-01-12 04:12:31 +00:00
Kim Barrett
1ff0f1673d 8258142: Simplify G1RedirtyCardsQueue
Separate local redirty qset from redirty queue.

Reviewed-by: tschatzl, iwalulya
2020-12-14 16:13:23 +00:00
Thomas Schatzl
c601849e00 8256038: G1: Improve comment about mark word handling of displaced mark words
Reviewed-by: sjohanss, kbarrett
2020-11-10 09:12:29 +00:00
Kim Barrett
4b88119b4b 8253037: G1: Improve check for string dedup
Combine dedup enabled and is_string into a single test, using the already in-hand klass of the object.

Reviewed-by: ayang, tschatzl
2020-11-04 05:04:02 +00:00
Kim Barrett
66f27b5fca 8254015: copy_to_survivor_space should use in-hand klass for scanning
Reviewed-by: tschatzl, sjohanss, ayang
2020-10-08 08:56:01 +00:00
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
Kim Barrett
0e98fc1ccd 8253237: [REDO] Improve large object handling during evacuation
8253238: [REDO] Improve object array chunking test in G1's copy_to_survivor_space
8253236: [REDO] Investigate fast-path for scanning only objects with references during gc

Generate multiple partial array tasks for large objArrays.

Reviewed-by: sjohanss, ayang, tschatzl
2020-09-22 05:14:06 +00:00
Kim Barrett
f37c34d32e 8253270: Limit fastdebug inlining in G1 evacuation
Reviewed-by: tschatzl, sjohanss, ayang
2020-09-18 19:29:18 +00:00
Kim Barrett
74851c507b 8253169: [BACKOUT] Improve large object handling during evacuation
Revert "8027545: Improve object array chunking test in G1's copy_to_survivor_space"
Revert "8158045: Improve large object handling during evacuation"
Revert "8027761: Investigate fast-path for scanning only objects with references during gc"

Reviewed-by: tschatzl, sjohanss
2020-09-15 14:33:04 +00:00
Kim Barrett
dafcf1056f 8027545: Improve object array chunking test in G1's copy_to_survivor_space
8158045: Improve large object handling during evacuation
8027761: Investigate fast-path for scanning only objects with references during gc

Generate multiple partial array tasks for large objArrays.

Reviewed-by: sjohanss, ayang, tschatzl
2020-09-15 12:18:24 +00:00
Thomas Schatzl
8a56d7e00d 8252034: G1: Remove *g1_reserved* methods
Remove duplicate methods.

Reviewed-by: sjohanss, kbarrett
2020-08-21 11:54:34 +02:00
Kim Barrett
e648a907b3 8250597: G1: Improve inlining around trim_queue
Refactor, using NOINLINE and (new) ATTRIBUTE_FLATTEN for control.

Reviewed-by: tschatzl, sjohanss
2020-08-13 10:02:35 -04:00
Cesar Soares Lucas
eaeb43542b 8249225: Move definition of PADDING_ELEM_NUM
Reviewed-by: tschatzl, kbarrett
2020-07-24 11:16:05 +02: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
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27: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
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
eaa6355cb0 8220311: Implementation: NUMA-Aware Memory Allocation for G1, Survivor (2/3)
Reviewed-by: kbarrett, sjohanss, tschatzl
2019-11-13 10:49:32 -08:00
Stefan Johansson
bb63558420 8230431: Move G1 trace code from gcTrace* to G1 directory
Reviewed-by: kbarrett, lkorinth
2019-09-04 09:47:51 +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
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
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
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
3d149df158 8200545: Improve filter for enqueued deferred cards
Reviewed-by: kbarrett, sangheki
2019-05-14 15:36:26 +02:00
Thomas Schatzl
884545e54f 8218668: Clean up evacuation of optional collection set
Better integrate optional collection set evacuation into the existing evacuation scheme, fixing a few minor issues with the initial implementation.

Reviewed-by: kbarrett, sangheki
2019-04-08 20:37:52 +02:00
Thomas Schatzl
bfaeb63761 8219748: Add and use getter for the timing object in G1
Reviewed-by: shade, kbarrett
2019-03-04 11:49:16 +01:00
Thomas Schatzl
5fe5d0a90a 8219747: Remove g1_ prefix to g1_remset and g1_policy members in G1CollectedHeap
Reviewed-by: shade, sangheki
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
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
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
Thomas Schatzl
f69c1407ae 8212766: TestPromotionEventWithG1.java failed due to "RuntimeException: PLAB size is smaller than object size."
Also send PLAB size in bytes, not in heap words.

Reviewed-by: shade, sjohanss
2018-10-29 08:55:03 +01:00
Thomas Schatzl
3a48e68b1a 8212753: Improve oopDesc::forward_to_atomic
Avoid multiple unnecessary reloads of the mark oop in oopDesc::forward_to_atomic

Reviewed-by: kbarrett, mdoerr
2018-10-24 16:22:34 +02:00
Thomas Schatzl
475df1c06a 8210492: PLAB object promotion events report object sizes in words
Properly scale values passed to the JFR event.

Reviewed-by: phh, jcbeyler
2018-10-16 11:27:21 +02:00
Zhengyu Gu
4555c28590 8205921: Optimizing best-of-2 work stealing queue selection
Bias towards stealing from queues that we recently successfully stole from to decrease the number of unsuccessful steal attempts.

Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: eosterlund, kbarrett
2018-08-03 11:06:10 +02:00
Michihiro Horie
4641ea7bed 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space
Reviewed-by: kbarrett, mdoerr, drwhite, tschatzl
2018-06-25 10:41:03 +02: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
Roman Kennke
389d720746 8199735: Mark word updates need to use Access API
Reviewed-by: shade, eosterlund
2018-04-05 10:54:53 +02:00
Stefan Johansson
b758cec4ad 8200169: Flatten G1Allocator class hierarchy
Reviewed-by: tschatzl, sangheki
2018-04-06 11:41:21 +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
Stefan Johansson
bacf4db5bd 8198424: Remove G1AllocationContext
Reviewed-by: ehelin, tschatzl
2018-03-02 10:09:08 +01:00