1204 Commits

Author SHA1 Message Date
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
Thomas Schatzl
2006105114 8201527: Bump default value of G1RefProcDrainInterval
Due to high startup cost of marking, lower the frequency of draining the mark stack generated by reference processing.

Reviewed-by: sangheki, sjohanss
2018-04-18 19:00:32 +02:00
Coleen Phillimore
36d1d59425 8201505: Use WeakHandle for ProtectionDomainCacheTable and ResolvedMethodTable
8193524: Redefining a method that removes use of 1 or more lambda expressions causes the JVM to hang

Remove oop pointers from runtime data structures.

Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Reviewed-by: lfoltan, stefank
2018-04-18 12:06:53 -04:00
Coleen Phillimore
1ee531afe9 8200555: OopHandle should use Access API
Add RootAccess<> to OopHandle.resolve() in runtime and interpreter code.  Add comments for compiler code for later.

Reviewed-by: eosterlund, stefank
2018-04-18 10:39:40 -04:00
Aleksey Shipilev
4c626b6272 8201799: Build failures after JDK-8195099 (Concurrent safe-memory-reclamation mechanism)
Reviewed-by: dholmes, tschatzl, eosterlund
2018-04-18 15:05:37 +02:00
Thomas Schatzl
6db76f1af6 8201172: Parallelize Remset Tracking Update Before Rebuild phase
Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
ebbd7cf90b 8201596: java.lang.ref.Reference processing total time logging broken
Fix "Reference Processing" and add "Weak Processing" time

Reviewed-by: kbarrett, sangheki
2018-04-18 11:36:48 +02:00
Thomas Schatzl
c62a6abe91 8201490: Improve concurrent mark keep alive closure performance
Avoid doing marking work unless absolutely required.

Reviewed-by: sjohanss, kbarrett
2018-04-18 11:36:48 +02:00
Thomas Schatzl
9b31b8f365 8201487: Do not rebalance reference processing queues if not doing parallel reference processing
Reviewed-by: sangheki, kbarrett
2018-04-18 11:36:48 +02:00
Thomas Schatzl
dc7aa2ca03 8200730: Fix debug=gc+phases time tracking in Remark and Cleanup
Timing in Remark and Cleanup pauses did not use instance variables for the scoped timing objects, so these durations were always zero.

Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +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
e11d1b311d 8200723: Suppress rs_length and predicted_cards sampling during mixed gcs
Due to the impact of these measurements on pause time, their high difference to other collections during mixed collections, and their non-use during mixed collections, do not use rs_length and predicted_cards measurements done during mixed gc for the predictor. This avoids the young gen sizing after the mixed phase to be negatively affected by mixed collections.

Reviewed-by: kbarrett, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
9db71579ee 8154528: Reclaim regions emptied by marking in Remark pause
Reviewed-by: shade, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
7c09cf644b 8178105: Switch mark bitmaps during Remark
Reviewed-by: sjohanss, sangheki
2018-04-18 11:36:48 +02:00
Robbin Ehn
a0a4b1981b 8195099: Concurrent safe-memory-reclamation mechanism
This implement a globalcounter with RCU semantics.

Reviewed-by: acorn, coleenp, dcubed, eosterlund, gziemski, mlarsson, kbarrett, dholmes
2018-04-18 09:25:51 +02:00
Henry Jen
1f1f480606 Merge 2018-04-17 16:13:30 -07:00
Calvin Cheung
894e8c6479 8197972: Always verify non-system classes during CDS dump time
Use -Verify:remote even if the user specifies -Xverify:none during CDS dump time

Reviewed-by: iklam, mseledtsov, jiangli
2018-04-17 16:19:48 -07:00
Roman Kennke
d006828c41 8201442: objArrayOopDesc::atomic_compare_exchange_oop() must use obj+offset in HeapAccess call
Reviewed-by: shade, eosterlund
2018-04-12 23:10:19 +02:00
Kim Barrett
1b060b7406 8201450: Provide access to LogHandle tagset
Added LogHandle::tagset function.

Reviewed-by: stefank
2018-04-12 15:50:03 -04:00
Daniel D. Daugherty
d974f0b162 8200374: Add ThreadsSMRSupport::verify_hazard_pointer_scanned() to verify threads_do()
Add verification for the threads_do() part of the Thread-SMR protocol.

Reviewed-by: eosterlund, dholmes, rehn
2018-04-12 09:03:46 -04:00
Per Lidén
ec504ecf84 8201362: Remove CollectedHeap::barrier_set()
Reviewed-by: shade, rkennke
2018-04-12 11:22:24 +02:00
Per Lidén
6825739d3f 8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread
Reviewed-by: shade, rehn
2018-04-12 08:25:56 +02:00
Per Lidén
4c60e69b97 8201316: Move G1-related static members from JavaThread to G1BarrierSet
Reviewed-by: stefank, shade
2018-04-12 08:25:30 +02:00
Thomas Stuefe
397e628d12 8200384: jcmd help output should be sorted
Reviewed-by: sspitsyn, clanger
2018-03-28 22:03:57 +02:00
Erik Österlund
2a0986b882 8199417: Modularize interpreter GC barriers
Reviewed-by: coleenp, rkennke
2018-04-11 16:07:42 +02:00
Harold Seigel
1094fd9927 8201265: Native memory leak in ClassLoader::add_to_exploded_build_list
Allocate from temporary thread local memory instead of C heap memory.

Reviewed-by: coleenp, dholmes, lfoltan
2018-04-11 10:05:02 -04:00
Stefan Karlsson
623c83dad9 8201427: Fix Minimal VM builds on Linux x64
Reviewed-by: shade
2018-04-11 13:52:23 +02:00
Boris Ulasevich
ab5c67bb0c 8201370: GC specific data is referred from common precompiled headers and defNewGeneration.cpp
Reviewed-by: stefank, shade, dholmes
2018-04-11 13:51:33 +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
Thomas Schatzl
381dceed47 8201365: Remove G1Policy::should_process_references()
Reviewed-by: shade
2018-04-11 11:37:19 +02:00
Stefan Johansson
9fb40e61cb 8200228: Change default value of HeapSizePerGCThread
Reviewed-by: tschatzl, shade, jwilhelm
2018-04-11 08:18:13 +02:00
Calvin Cheung
4ef7c919a2 8194812: Extend class-data sharing to support the module path
8199360: Rework the support for the 'ignored' module options in CDS

Reviewed-by: jiangli, lfoltan, iklam, mseledtsov
2018-04-10 11:43:40 -07:00
Coleen Phillimore
d187884156 8198313: Wrap holder object for ClassLoaderData in a WeakHandle
Use WeakHandle for ClassLoaderData::_holder so that is_alive closure is not needed

Reviewed-by: rehn, kbarrett
2018-04-10 10:06:42 -04:00
Zhengyu Gu
21f636f3cf 8201321: NMT: Unnecessary re-recording thread stack and size when attaching listener to JavaThread
Replaced recoding thread stack and size with assertion

Reviewed-by: dholmes, coleenp
2018-04-10 08:15:40 -04:00
Stefan Karlsson
8e0a6a9523 8201217: Split specialized_oop_closures.hpp into GC specific files
Reviewed-by: sjohanss, eosterlund
2018-04-10 12:21:58 +02:00
Stefan Karlsson
367f9ea984 8201244: Clean out unnecessary includes of heap headers
Reviewed-by: coleenp, shade
2018-04-10 12:21:05 +02:00
Stefan Karlsson
0d2377db46 8201209: Separate out CMS specific functions into CMSCardTable
Reviewed-by: eosterlund, sjohanss
2018-04-10 12:20:00 +02:00
Stefan Karlsson
e7c2b686a1 8201175: Move FilteringClosure::do_oop to genOopClosures
Reviewed-by: tschatzl, sjohanss
2018-04-10 12:18:42 +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
Aleksey Shipilev
de2a00c110 8201359: Incorrect header guards after JDK-8198949 (Modularize arraycopy stub routine GC barriers)
Reviewed-by: stefank, dholmes
2018-04-10 12:12:43 +02:00
Thomas Schatzl
4fd82a111e 8200385: Eagerly reclaimed humongous objects leave mark in prev bitmap
Also clear marks on prev bitmap on eager reclaim

Reviewed-by: sangheki, sjohanss
2018-04-10 09:12:23 +02:00
Robin Westberg
2dfa53af63 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
Reviewed-by: erikj, ihse, kbarrett, dholmes
2018-04-09 10:09:38 +02:00
Kim Barrett
a384a668a5 8200550: Xcode 9.3 produce warning -Wexpansion-to-defined
Removed problem macros.

Reviewed-by: tschatzl, dholmes, coleenp
2018-04-09 20:36:04 -04: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
Zhengyu Gu
a47dc291ae 8201242: Include source file/line number when reporting native call stack on supported platforms
Added source file/line number to native call stack reporting on supported platforms

Reviewed-by: adinn, stuefe, dcubed
2018-04-09 08:19:26 -04:00
Leo Korinth
30079a437a 8201171: Cleanup in g1CollectedHeap, change CamelCase to snake_case
Reviewed-by: sjohanss, tschatzl
2018-04-05 14:25:53 +02:00
Kim Barrett
158a927587 8200697: Add utility for spin wait with fallback to yield/sleep
Added SpinYield utility class.

Co-authored-by: Robbin Ehn <robbin.ehn@oracle.com>
Reviewed-by: dcubed, coleenp, dholmes
2018-04-09 01:22:37 -04:00
Harold Seigel
ffc0b90a4e 8198908: Add JVM support for preview features
Add new major and minor version checks

Reviewed-by: dholmes, lfoltan
2018-04-06 09:59:48 -04:00