656 Commits

Author SHA1 Message Date
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
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
Chris Phillips
561ec75b9b 8203030: Zero s390 31 bit size_t type conflicts in shared code
Cast to size_t or change to size_t foe compatibility with other archs.

Reviewed-by: pliden, dholmes
2018-06-19 10:00:39 -04: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
9ae0be2289 8205043: Make parallel reference processing default for G1
Reviewed-by: kbarrett, sjohanss
2018-06-19 09:34:39 +02: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
Kim Barrett
05b5a78903 8204939: Change Access nomenclature: root to native
Rename RootAccess => NativeAccess, IN_ROOT => IN_NATIVE, and related cleanups.

Reviewed-by: pliden, stefank, coleenp
2018-06-15 16:53:58 -04:00
Zhengyu Gu
f6c168053f 8203641: Refactor String Deduplication into shared
Allows string deduplication to be shared among different collectors

Reviewed-by: tschatzl, rkennke
2018-06-14 09:59:21 -04:00
Thomas Schatzl
83aae3288e 8204169: Humongous continues region remembered set states do not match the one from the corresponding humongous start region
Make sure and verify that the remembered set state of humongous continues regions matches the one from the corresponding humongous start region.

Reviewed-by: kbarrett, sjohanss
2018-06-14 13:07:33 +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
Thomas Schatzl
4c0fa36251 8202049: G1: ReferenceProcessor doesn't handle mark stack overflow
Issue a fatal error when mark stack overflows during reference processing in the Remark phase

Reviewed-by: kbarrett
2018-06-07 11:20:55 +02:00
Thomas Schatzl
1c238f0ccc 8204081: Mismatch in rebuild policy and collection set chooser causes remembered sets to be kept errorneously
Due to mismatch in which region's remembered sets should be rebuilt and the ones that are looked at in the collection set chooser superfluous remembered sets might be built and kept alive until the next marking.

Reviewed-by: sjohanss, kbarrett
2018-06-07 11:20:30 +02:00
Thomas Schatzl
7f8874a93b 8204084: Remove the G1RSBarrierRegionFilter develop flag
Reviewed-by: sjohanss, shade
2018-06-07 11:20:18 +02:00
Stefan Johansson
dce30cad15 8204287: Phase timings not updated correctly after JDK-6672778
Reviewed-by: tschatzl, kbarrett
2018-06-07 09:02:03 +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
Sangheon Kim
4fb9d6717d 8204094: assert(worker_i < _length) failed: Worker 15 is greater than max: 11 at ReferenceProcessorPhaseTimes
Reviewed-by: kbarrett, tschatzl
2018-06-04 21:20:16 -07:00
Erik Österlund
6e9153ef8b 8202547: Move G1 runtime calls used by generated code to G1BarrierSetRuntime
Reviewed-by: rkennke, tschatzl
2018-06-04 12:59:51 +02:00
Coleen Phillimore
e3a3941c9a 8202813: Move vm_weak processing from SystemDictionary to WeakProcessor
SystemDictionary has all strong roots.  The weak oop_storage is processed by the WeakProcessor so it can be scanned and cleared concurrently and/or by parallel threads.

Reviewed-by: kbarrett, sjohanss
2018-05-29 15:50:27 -04:00
Gerard Ziemski
90cc14cd60 8133564: Runtime - 2nd followup to Validate JVM Command-Line Flag Arguments
Moved print function into JVMFlag, cleaned up include headers.

Reviewed-by: coleenp, hseigel
2018-05-29 11:04:56 -05: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
Erik Österlund
53ec88908c 8202377: Modularize C2 GC barriers
Reviewed-by: neliasso, roland
2018-05-18 14:51:06 +02:00
Erik Gahlin
a060be188d 8199712: Flight Recorder
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, ihse, erikj, dsamersoff, mseledtsov, egahlin, mgronlun
2018-05-15 20:24:34 +02:00
Thomas Schatzl
ec2d9845e0 8201491: G1 support for java.lang.ref.Reference precleaning
Implement single-threaded concurrent reference precleaning for G1.

Reviewed-by: sangheki, kbarrett
2018-05-14 11:47:03 +02:00
Thomas Schatzl
6ff0af73ce 8202829: Implement CollectedHeap::get_safepoint_workers() for G1
Use the parallel STW worker gang to do safepoint work.

Reviewed-by: rkennke, eosterlund, pliden
2018-05-14 11:47:03 +02:00
Goetz Lindenmaier
b72846bc20 8202745: Remove hyphens from "out-of-bounds"
Reviewed-by: rriggs, dholmes
2018-05-07 23:07:01 +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
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +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
Erik Österlund
f4893f5a9a 8201543: Modularize C1 GC barriers
Reviewed-by: pliden, rbackman, rkennke
2018-04-26 20:42:43 +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
Kim Barrett
a99eca12cc 8201826: G1: Don't invoke WeakProcessor if mark stack has overflowed
Move WeakProcessor invocation after overflow check

Reviewed-by: stefank, tschatzl
2018-04-23 16:00:56 -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
Per Lidén
a4f21eeb03 8201646: Introduce ReferenceDiscoverer interface
Reviewed-by: stefank, tschatzl, rkennke
2018-04-19 07:54:50 +02:00
Stefan Johansson
ffd8b1f9bd 8196071: Change G1 Full GC heap and thread sizing ergonomics
Reviewed-by: tschatzl, sangheki
2018-04-19 09:15:17 +02:00
Coleen Phillimore
ddfd4c33c6 8201556: Disallow reading oops in ClassLoaderData if unloading
Move class_loader oop to an OopHandle, and assert that holder is alive when getting class_loader.

Reviewed-by: kbarrett, adinn
2018-04-18 18:43:04 -04:00
Coleen Phillimore
c215aa5889 8201537: Remove is_alive closure from Klass::is_loader_alive()
Remove is_alive closure from callers of Klass::is_loader_alive so that cleaning metadata doesn't require GC closure.

Reviewed-by: adinn, stefank
2018-04-18 13:37:39 -04:00