76 Commits

Author SHA1 Message Date
Coleen Phillimore
dc556f4086 8209738: Remove ClassLoaderDataGraph::*oops_do functions
Make walking CLDG more consistent.

Reviewed-by: dholmes, tschatzl
2018-08-21 09:33:41 -04:00
Lois Foltan
75ed173e15 8209301: JVM rename is_anonymous, host_klass to unsafe specific terminology ahead of Unsafe.defineAnonymousClass deprecation
Clean up VM anonymous class terminology.

Reviewed-by: coleenp, dholmes, mchung
2018-08-20 08:25:57 -04:00
Thomas Schatzl
d702d5f8d2 8208669: GC changes to allow enabling -Wreorder
Reviewed-by: kbarrett
2018-08-08 15:31:06 +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
Harold Seigel
38db1d1620 8202171: Some oopDesc functions compare this with NULL
Add Method* parameter and made verify* methods static to avoid 'this' comparison with NULL, Added NULL checks before calling print_on() methods.

Reviewed-by: kbarrett, coleenp
2018-07-31 14:24:10 -04:00
Thomas Schatzl
74a31c5c16 8208297: Allow printing of taskqueue stats if compiled in in product builds
Reviewed-by: kbarrett
2018-07-27 09:49:03 +02:00
Stefan Karlsson
5012044e63 8205607: Use oop_iterate instead of oop_iterate_no_header
Reviewed-by: pliden, kbarrett
2018-06-26 13:54:19 +02: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
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
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
Thomas Schatzl
b06d2b3ac3 8204618: The parallel GC reference processing task executor enqueues a wrong number of tasks into the queue
Reviewed-by: sangheki, kbarrett
2018-06-11 12:09:59 +02:00
Thomas Schatzl
9455a89d47 8204617: ParallelGC parallel reference processing does not set MT degree in reference processor
Reviewed-by: sangheki, kbarrett
2018-06-11 12:09:57 +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
Michihiro Horie
1213297257 8154736: enhancement of cmpxchg and copy_to_survivor for ppc64
Reviewed-by: eosterlund, mdoerr, kbarrett
2018-06-05 09:29:15 +02: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
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
Kim Barrett
6c20824cda 8203028: Simplify reference processing in light of JDK-8175797
Removed special handling of Reference.next

Reviewed-by: tschatzl, sjohanss, mchung
2018-05-26 03:11:50 -04: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
fc99089e00 8202722: Move marksweep_init into GC code
Reviewed-by: ehelin, kbarrett
2018-05-07 16:16:17 +02:00
Stefan Karlsson
c590979683 8202649: Move the Parallel GC specific task creation functions out of Threads
Reviewed-by: ehelin, pliden
2018-05-07 16:12:07 +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
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
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
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
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
Per Lidén
ec504ecf84 8201362: Remove CollectedHeap::barrier_set()
Reviewed-by: shade, rkennke
2018-04-12 11:22:24 +02:00
Stefan Karlsson
f0f7a1b70d 8201168: Move GC command line constraint functions to GC specific files
Reviewed-by: gziemski, sjohanss
2018-04-10 12:17:16 +02:00
Stefan Karlsson
906806e067 8200759: Move GC entries in vmStructs.cpp to GC specific files
Reviewed-by: sjohanss, shade
2018-04-10 12:15:07 +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 Karlsson
14a142ba14 8201136: Move GC flags from globals.hpp to GC specific files
Reviewed-by: sjohanss, shade, rehn
2018-04-06 13:55:25 +02:00
Per Lidén
24273f04a4 8199925: Break out GC selection logic from GCArguments to GCConfig
Reviewed-by: eosterlund, rkennke
2018-03-28 11:38:47 +02:00
Per Lidén
3b7962d614 8199918: Shorten names of CollectedHeap::Name members
Reviewed-by: shade, eosterlund
2018-03-28 11:38:47 +02:00
Coleen Phillimore
b541d9ad77 8200276: Cleanup allocation.hpp includes
Reviewed-by: stefank, hseigel
2018-03-27 11:53:23 -04:00
Stefan Karlsson
1a1aecd166 8200106: Move NoSafepointVerifier out from gcLocker.hpp
Reviewed-by: coleenp
2018-03-23 18:54:12 +01: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 Österlund
0f92948d6f 8199604: Rename CardTableModRefBS to CardTableBarrierSet
Reviewed-by: stefank, pliden
2018-03-19 07:38:18 +01:00
Coleen Phillimore
ec14629449 8199716: Unused AdjustKlassClosure in psParallelCompact.hpp
Reviewed-by: stefank
2018-03-16 08:26:53 -04:00
Coleen Phillimore
394e34d821 8199282: Remove ValueObj class for allocation subclassing for gc code
Reviewed-by: stefank, kbarrett
2018-03-14 07:27:19 -04:00
Thomas Stuefe
da674f0d0d 8199430: Rename MetaspaceAux to something more meaningful
Reviewed-by: zgu, coleenp
2018-03-11 07:11:03 +01:00
Stefan Karlsson
d42acfd37b 8199319: Remove handles.inline.hpp include from reflectionUtils.hpp
Reviewed-by: hseigel, dholmes
2018-03-08 19:10:25 +01:00