112 Commits

Author SHA1 Message Date
Erik Österlund
25f14cd757 8209189: Make CompiledMethod::do_unloading more concurrent
Reviewed-by: kvn, coleenp
2018-11-02 08:33:59 +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
Jiangli Zhou
a2ad8f419f 8206009: Move CDS java heap object archiving code to heapShared.hpp and heapShared.cpp
Restructure and cleanup java heap object archiving code.

Reviewed-by: coleenp, iklam
2018-10-09 15:58:07 -04:00
Poonam Bajaj
3ce24a0442 8211150: G1 Full GC not purging code root memory and hence causing memory leak
Reviewed-by: tschatzl, sjohanss
2018-10-03 19:30:49 +00:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Leo Korinth
b31408a667 8196341: Add JFR events for parallel phases of G1
Reviewed-by: tschatzl, sangheki
2018-09-21 18:57:18 +02:00
Thomas Schatzl
159a4de4c8 8210557: G1 next bitmap verification at the end of concurrent mark sometimes fails
Removed unnecessary verification that can cause spurious false alarm.

Reviewed-by: sjohanss, kbarrett
2018-09-21 15:11:09 +02:00
Per Lidén
a8703f9803 8210713: Let CollectedHeap::ensure_parsability() take care of TLAB statistics gathering
Reviewed-by: eosterlund, sjohanss
2018-09-19 14:09:11 +02:00
Ioi Lam
1619cbd14b 8210864: Reduce the use of metaspaceShared.hpp
Reviewed-by: coleenp, lfoltan
2018-09-18 21:46:17 -07:00
Thomas Schatzl
093c837c85 8210463: Recalculate_used() always sets time taken in G1GCPhaseTimes
Reviewed-by: phh, sjohanss
2018-09-11 09:13:37 +02:00
Thomas Schatzl
db7b4e20e1 8207200: Committed > max memory usage when getting MemoryUsage
Make sure that modification of memory usage variables are synchronized with returning them to Java.

Reviewed-by: sangheki, mchung
2018-09-04 12:18:35 +02:00
Kim Barrett
1b02e70184 8072498: Multi-thread JNI weak reference processing
Add parallel processing support to WeakProcessor.

Reviewed-by: tschatzl, sjohanss
2018-08-28 12:57:40 -04:00
Zhengyu Gu
af8a3d61b5 8209841: [REDO] Refactor G1ParallelCleaningTask into shared
Refactored ParallelCleaningTask to share with other GCs

Reviewed-by: tschatzl, shade
2018-08-24 15:49:21 -04:00
Thomas Schatzl
6f880d7f48 8209062: Clean up G1MonitoringSupport
Reviewed-by: phh, sangheki
2018-08-22 20:37:07 +02:00
Thomas Schatzl
0d78eb91db 8209061: Move G1 serviceability functionality to G1MonitoringSupport
Reviewed-by: phh, sangheki
2018-08-22 20:37:07 +02:00
Thomas Schatzl
5c94ea21e7 8209700: Remove HeapRegionSetBase::RegionSetKind for a more flexible approach
Reviewed-by: kbarrett, phh
2018-08-22 20:37:07 +02:00
Thomas Schatzl
8e264e259d 8208498: Put archive regions into a first-class HeapRegionSet
Maintain archive regions in a HeapRegionSet like other region types.

Reviewed-by: phh, sangheki
2018-08-22 20:37:07 +02:00
Thomas Schatzl
2ffded2a4b 8209839: [Backout] Backout JDK-8206467 Refactor G1ParallelCleaningTask into shared
Reviewed-by: zgu
2018-08-22 16:01:29 +02:00
Zhengyu Gu
bd0f1453dc 8206467: Refactor G1ParallelCleaningTask into shared
Refactored and moved G1ParllelCleaningTask to be shared among GCs

Reviewed-by: rkennke, kbarrett
2018-08-21 20:29:57 -04:00
Patricio Chilano Mateo
4ef5590fa7 8206423: Use locking for cleaning ResolvedMethodTable
ServiceThread is now in charge of cleaning ResolvedMethodTable entries

Reviewed-by: gziemski, dholmes, coleenp
2018-08-21 10:37:02 -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
Kim Barrett
8f31a55f91 8209346: Refactor SATBMarkQueue filter configuration
Moved reference to G1-specific option to G1CollectedHeap.

Reviewed-by: shade, rkennke
2018-08-14 13:16:26 -04:00
Kim Barrett
924bba584d 8209345: Merge SATBMarkQueueFilter into SATBMarkQueueSet
Move filter extension protocol to SATBMarkQueueSet.

Reviewed-by: shade, tschatzl, rkennke
2018-08-14 00:15:56 -04:00
Thomas Schatzl
d702d5f8d2 8208669: GC changes to allow enabling -Wreorder
Reviewed-by: kbarrett
2018-08-08 15:31:06 +02:00
Kim Barrett
501fc494c0 8208611: Refactor SATBMarkQueue filtering to allow GC-specific filters
Add SATBMarkQueueFilter.

Reviewed-by: tschatzl, eosterlund, rkennke
2018-08-01 19:14:04 -04:00
Thomas Schatzl
7883ea1c31 8207953: Remove dead code in G1CopyingKeepAliveClosure
Reviewed-by: kbarrett
2018-07-23 17:32:04 +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
7f9bbfa767 8043575: Dynamically parallelize reference processing work
In G1 automatically set the number of parallel Reference processing threads

Co-authored-by: Sangheon Kim <sangheon.kim@oracle.com>
Reviewed-by: sangheki, kbarrett
2018-06-18 12:11:59 +02:00
Thomas Schatzl
1a0553e4eb 8202845: Refactor reference processing for improved parallelism
Fold reference processing's nine phases into four to decrease startup and termination time of this phase.

Reviewed-by: kbarrett, sjohanss
2018-05-29 09:26:00 +02:00
Robbin Ehn
6b62a66298 8204613: StringTable: Calculates wrong number of uncleaned items
Reviewed-by: pliden, coleenp
2018-06-14 07:26:27 +02:00
Kim Barrett
df34500027 8204585: Remove IN_ARCHIVE_ROOT from Access API
Replaced Access API with API on heap.

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: jiangli, coleenp, tschatzl
2018-06-12 18:12:59 -04:00
Robbin Ehn
66f8951e15 8195097: Make it possible to process StringTable outside safepoint
Reviewed-by: coleenp, gziemski, iklam, jiangli
2018-06-07 14:11:56 +02:00
Coleen Phillimore
892a2af03f 8204301: Make OrderAccess functions available to hpp rather than inline.hpp files
Move orderAccess.inline.hpp into orderAccess.hpp and remove os.hpp inclusion and conditional os::is_MP() for fence on x86 platforms

Reviewed-by: dholmes, hseigel
2018-06-06 10:45:40 -04:00
Coleen Phillimore
3e3414dbf3 8203837: Split nmethod unloading from inline cache cleaning
Refactor cleaning inline caches to after GC do_unloading.

Reviewed-by: thartmann, eosterlund
2018-05-02 11:28:49 -04:00
Thomas Schatzl
fd0d572bb5 8202842: G1 footprint regressions in jdk11+10
Lazily initialize G1FromCardCache to save on startup footprint if AlwaysPretouch is disabled.

Reviewed-by: sjohanss, redestad
2018-05-28 11:13:21 +02:00
Thomas Schatzl
b34a8c43f1 8202780: Remove EnqueueTask related code from ReferenceProcessor after JDK-8202017
Remove code obsoleted by JDK-8202017

Reviewed-by: kbarrett, sangheki
2018-05-09 13:37:05 +02:00
Stefan Karlsson
99072b90d7 8202647: Add deduplicate_string function to CollectedHeap
Reviewed-by: rehn, sjohanss
2018-05-07 14:57:25 +02: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
Coleen Phillimore
204ba9a580 8202447: Fix unloading_occurred to mean unloading_occurred
Nmethod unloading does not need to test for jvmti to set unloading_occurred, nor do we need to clean weak Klasses in metadata if unloading does not occur.

Reviewed-by: sspitsyn, rehn
2018-04-27 15:00:04 -04:00
Thomas Schatzl
deb5bf745f 8202021: Improve variable naming in ReferenceProcesso
Reviewed-by: sangheki, sjohanss
2018-05-03 14:10:08 +02:00
Thomas Schatzl
73771f97e9 8202018: Move card table clear before enqueuing pending references
Move card table clearing in preparation of removal of the Reference enqueue phase.

Reviewed-by: sangheki, sjohanss
2018-05-03 14:09:39 +02:00
Thomas Schatzl
91ba4b5676 8201640: Use _ref_processor_* member variables directly in G1CollectedHeap
Reviewed-by: sjohanss
2018-05-03 14:09:21 +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
Stefan Johansson
7f7d103c85 8191471: Elastic TLABs for G1
Reviewed-by: tschatzl, pliden
2018-05-02 13:44:46 +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
Gerard Ziemski
edc81d17e1 8202150: [REDO] Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-26 11:19:05 -05:00
Coleen Phillimore
8a427a07d8 8202164: Remove some unneeded BoolObjectClosure* is_alive parameters
Reviewed-by: kbarrett, stefank
2018-04-25 17:50:32 -04:00
Gerard Ziemski
816e2e5fe0 8202151: [BACKOUT] Split globals.hpp to factor out the Flag class
Backed out JDK-8081519

Reviewed-by: kvn
2018-04-23 14:51:16 -05:00
Gerard Ziemski
60723b7e3d 8081519: Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-23 10:59:39 -05:00