64 Commits

Author SHA1 Message Date
Stefan Karlsson
161333eeba 8234748: Clean up atomic and orderAccess includes
Reviewed-by: dholmes
2019-11-26 10:47:46 +01:00
Stefan Karlsson
0ad50c2b5c 8234740: Harmonize parameter order in Atomic - cmpxchg
Reviewed-by: rehn, dholmes
2019-11-25 12:33:15 +01:00
Stefan Karlsson
e527ce4b57 8234562: Move OrderAccess::release_store*/load_acquire to Atomic
Reviewed-by: rehn, dholmes
2019-11-25 12:22:13 +01:00
Coleen Phillimore
59dcb50e96 8231472: Clean up Monitor::_safepoint_check usage to Mutex::_safepoint_check
Change Monitor:: to Mutex:: when allocating a Mutex, and in mutexLocker.

Reviewed-by: rehn, dholmes
2019-09-27 07:56:02 -04:00
Per Lidén
2d6874b861 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, tschatzl
2019-09-17 09:51:02 +02:00
Stefan Karlsson
02a31bf561 8227175: ZGC: ZHeapIterator visits potentially dead objects
Reviewed-by: zgu, eosterlund
2019-06-10 13:04:12 +02:00
Coleen Phillimore
204059634d 8223657: Remove unused THREAD argument from SymbolTable functions
Also made lookup and lookup_only functions private to SymbolTable.  External callers use new_symbol or probe.

Reviewed-by: dholmes, gziemski
2019-05-14 11:29:18 -04:00
Coleen Phillimore
77d60eff6a 8223626: move print() functions to cpp files
Improve debugging experience

Reviewed-by: dholmes, dlong
2019-05-10 09:05:29 -04:00
Coleen Phillimore
fbafef11c0 8222811: Consolidate MutexLockerEx and MutexLocker
Make MutexLocker be MutexLockerEx implementation, remove MutexLockerEx calls.

Reviewed-by: dcubed, dholmes, pliden, rehn
2019-04-25 10:56:31 -04:00
Zhengyu Gu
37c8c96916 8221643: Tighten up assert(_keep_alive >= 0) in CLD::inc_keep_alive
Reviewed-by: coleenp
2019-03-29 14:17:09 -04:00
Per Lidén
602d095268 8214782: Add missing access barriers on CLD handle area
Reviewed-by: coleenp, eosterlund
2018-12-05 17:11:20 +01:00
Coleen Phillimore
673c68d993 8213092: Add more runtime locks for concurrent class unloading
Add locks for calling CLDG::purge concurrently as well and for calling SystemDictionary::do_unloading concurrently.

Reviewed-by: eosterlund, hseigel
2018-11-16 10:54:04 -05:00
Erik Österlund
e39c5811b5 8210330: Make CLD claiming allow multiple claim bits
Reviewed-by: pliden, coleenp
2018-10-16 13:16:11 +02:00
Jiangli Zhou
061c4d7a81 8210926: vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/TestDescription.java failed with JVMTI_ERROR_INVALID_CLASS in CDS mode
Reset InstanceKlass _init_state to 'allocated' before writing out shared classes at dump time.

Reviewed-by: dholmes, coleenp
2018-10-01 00:52:37 -04:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Coleen Phillimore
06a1ea846a 8210856: Move InstanceKlass DependencyContext cleaning to SystemDictionary::do_unloading()
Already walk classes in ClassLoaderData::unload so generalize to also clean nmethod dependencies.

Reviewed-by: eosterlund, dlong, vlivanov
2018-09-26 14:01:48 -04:00
Coleen Phillimore
bad4a92e55 8210559: ClassLoaderData Symbols can leak
Unrefcount the symbol names when the CLD is destroyed

Reviewed-by: lfoltan, jiangli, iklam
2018-09-14 12:10:28 -04:00
Coleen Phillimore
bbf5c1ca8d 8210422: runtime/modules/ModuleStress/ExportModuleStressTest.java - assertion failed: address not aligned: 0x00000008baadbabe
CLDG_lock caused safepoint in inconsistent state

Reviewed-by: lfoltan, eosterlund, kbarrett
2018-09-11 09:42:27 -04:00
Erik Österlund
c8be228513 8210321: Create NO_KEEPALIVE CLD holder accessor
Reviewed-by: coleenp, kbarrett
2018-09-10 13:07:42 +02:00
Coleen Phillimore
eb9259138f 8210155: Lock ClassLoaderDataGraph
In preparation for concurrent class unloading.

Reviewed-by: hseigel, eosterlund
2018-08-31 07:03:46 -04:00
Harold Seigel
eb51968f00 8202578: Revisit location for class unload events
Use notify_unload_class() to post JFR class unload events instead of doing a separate traversal of the class loader data graph

Reviewed-by: lfoltan, coleenp, mgronlun, egahlin
2018-08-28 10:10:11 -04:00
Coleen Phillimore
fd9fa38d21 8209821: Make JVMTI GetClassLoaderClasses not walk CLDG
And also added function with KlassClosure to remove the hacks.

Reviewed-by: lfoltan, sspitsyn
2018-08-25 11:10:21 -04:00
Jiangli Zhou
7a51b4a8fa 8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode
Allow resizing for all system dictionaries except for the shared dictionary at runtime.

Reviewed-by: iklam, gziemski
2018-08-24 15:33:28 -04:00
Coleen Phillimore
eca24bfb55 8209792: Remove ClassLoaderDataGraph::keep_alive_cld_do
Unnecessary

Reviewed-by: zgu, tschatzl
2018-08-21 10:03:22 -04:00
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
Coleen Phillimore
ef15adee70 8209541: Fix merge problem in SymbolTable::do_check_concurrent_work
Remerged with previous change to do_unloading.

Reviewed-by: hseigel
2018-08-15 16:01:48 -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
Harold Seigel
83b2fb5b0d 8207778: Add locking to ModuleEntry and PackageEntry tables
Restructure ClassLoaderDataGraph code to simplify using locks in SystemDictionary::do_unloading()

Reviewed-by: lfoltan, coleenp
2018-08-10 09:30:26 -04:00
Coleen Phillimore
a7b66f6f5e 8208677: Move inner metaspace cleaning out of class unloading
Move to safepoint cleanup actions to do if needed.

Reviewed-by: eosterlund, hseigel
2018-08-08 15:24:21 -04:00
Thomas Schatzl
9c0720b156 8208671: Runtime, JFR, Serviceability changes to allow enabling -Wreorder
Reviewed-by: dholmes, hseigel
2018-08-08 15:31:07 +02:00
Kim Barrett
8a2170dad7 8205559: Remove IN_CONCURRENT_ROOT Access decorator
Removed decorator and made all NativeAccess use barriers.

Reviewed-by: pliden, stefank
2018-06-26 16:59:38 -04:00
Lois Foltan
48500f81a1 8205509: assert(_name_and_id != 0LL) failed: encountered a class loader null name and id
The method loader_name_and_id should return the external name of the class loader if _name_and_id is null.

Reviewed-by: coleenp, stuefe
2018-06-25 10:34:46 -04:00
Lois Foltan
425e1a8bb8 8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name
Introduced ClassLoaderData::name() and ClassLoaderData::name_and_id() for use when obtaining a class loader's name.

Reviewed-by: coleenp, goetz, mchung, stuefe
2018-06-19 07:54:11 -04: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
Coleen Phillimore
37e51f4074 8202669: Intermittent crash in ClassLoadingService::compute_class_size()
Don't report classes that failed to load when reporting class unloading. Remove the classes first.

Reviewed-by: dholmes, lfoltan, ccheung
2018-05-22 13:10:56 -04: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
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
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
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
Roman Kennke
b938ae51ce 8199781: Don't use naked == for comparing oops
Reviewed-by: coleenp, eosterlund, jrose
2018-04-03 13:15:27 +02:00
Coleen Phillimore
f8ee0063b1 8199007: ClassLoaderDataGraph::unload_list_contains() is wrong
The function isn't needed any longer.

Reviewed-by: stuefe, stefank
2018-03-26 10:19:31 -04:00
Stefan Karlsson
1a1aecd166 8200106: Move NoSafepointVerifier out from gcLocker.hpp
Reviewed-by: coleenp
2018-03-23 18:54:12 +01:00
Coleen Phillimore
b15a3ff611 8197844: JVMTI GetLoadedClasses should use the Access API
Make sure the holder of a class loader is accessed during iteration of CLDG

Reviewed-by: eosterlund, rkennke
2018-03-21 17:09:34 -04:00
Coleen Phillimore
29cb168550 8199272: Broken assertion in ClassLoaderData::remove_handle
Added new ClassLoaderData::ChunkList::contains(oop*) function for OopHandle rather than oop.

Reviewed-by: stefank, hseigel
2018-03-15 07:40:00 -04:00
Thomas Stuefe
c18227978e 8199431: Split up class Metaspace into a static and a non-static part
Reviewed-by: coleenp, adinn, zgu
2018-03-15 07:15:39 +01:00
Volker Simonis
97cfb7bbb7 8199472: Fix non-PCH build after JDK-8199319
Reviewed-by: stefank, coleenp
2018-03-14 12:12:00 +01:00
Stefan Karlsson
b9f2f3e199 8199275: Fix inclusions of allocation.inline.hpp
Reviewed-by: coleenp, kbarrett, dholmes
2018-03-08 09:56:29 +01:00
Coleen Phillimore
4c3e072611 8198926: Move ClassLoaderData::_dependencies to ClassLoaderData::_handles
Move dependency creation and cleaned up logging

Reviewed-by: hseigel, jiangli
2018-03-06 17:15:16 -05:00