Commit graph

57 commits

Author SHA1 Message Date
Harold Seigel
e14b026841 8243287: Removal of Unsafe::defineAnonymousClass
Reviewed-by: iklam, mchung, alanb, dholmes
2021-05-13 12:46:54 +00:00
Ioi Lam
0f8be6e433 8261868: Reduce inclusion of metaspace.hpp
Reviewed-by: stuefe, ccheung
2021-02-25 04:31:12 +00:00
Thomas Stuefe
7ba6a6bf00 8251158: Implementation of JEP 387: Elastic Metaspace
Reviewed-by: lkorinth, coleenp, iklam, rrich
2020-10-20 06:48:09 +00:00
Coleen Phillimore
7ec9c8eac7 8233214: Remove runtime code not needed with CMS removed
Reviewed-by: shade, stefank, tschatzl
2020-10-09 20:46:11 +00:00
Stefan Karlsson
17f2250c5a 8247879: Rework WeakHandle and OopHandle to dynamically support different OopStorages
Reviewed-by: coleenp, eosterlund
2020-06-23 09:38:21 +02:00
Coleen Phillimore
f3c2a17a30 8247220: Make OopHandle constructor explicit
Fix null initializations to explicitly call the OopHandle constructor

Reviewed-by: lfoltan, kbarrett
2020-06-10 08:29:39 -04:00
Erik Österlund
9a8ace2c0a 8246837: Rename WeakHandle<vm_class_loader_data> to better reflect its OopStorage association
Reviewed-by: coleenp
2020-06-09 16:09:55 +00:00
Harold Seigel
39670b0e57 8241934: Simplify parse_stream() and remove has_class_mirror_holder_cld()
Added paramter to register_loader() which allowed removing of has_class_mirror_holder_cld()

Reviewed-by: coleenp, lfoltan
2020-05-11 15:00:16 +00:00
Mandy Chung
7cc1371059 8238358: Implementation of JEP 371: Hidden Classes
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jamsheed Mohammed C M <jamsheed.c.m@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Amy Lu <amy.lu@oracle.com>
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, sspitsyn, vromero
2020-04-21 06:55:38 -07:00
Erik Österlund
ea436110f6 8230401: ClassLoaderData::_keep_alive is read with wrong type in c2i entry barrier
Reviewed-by: zgu, tschatzl, iklam
2019-09-04 15:05:03 +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
7235c5b0e2 8224151: Test vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java might hang with release binaries
Fix deadlock on ClassLoaderDataGraph_lock and g1 clear_claimed_marks.

Reviewed-by: tschatzl, lfoltan, eosterlund
2019-06-06 15:09:17 -04:00
Erik Österlund
5dd18ea628 8222841: Incorrect static call stub interactions with class unloading
Reviewed-by: kvn, coleenp
2019-05-14 12:07:24 +02: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
154a1a02bf 8216167: Update include guards to reflect correct directories
Use script and some manual fixup to fix directores names in include guards.

Reviewed-by: lfoltan, eosterlund, kbarrett
2019-01-10 15:13:51 -05:00
Coleen Phillimore
3d0faa649c 8214972: Uses of klass_holder() except GC need to apply GC barriers
Fix klass_holder() and make all callers use it, remove holder_phantom().

Reviewed-by: eosterlund, dlong
2018-12-07 14:48:35 -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
Volker Simonis
d35eda31e3 8211328: Different declaration and definition of ClassLoaderData::classes_do() leads to build failures
Reviewed-by: dcubed, coleenp
2018-10-01 19:08:14 +02:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Erik Österlund
c8be228513 8210321: Create NO_KEEPALIVE CLD holder accessor
Reviewed-by: coleenp, kbarrett
2018-09-10 13:07:42 +02:00
Erik Österlund
842bc09b01 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
Reviewed-by: coleenp, pliden
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
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
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
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
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
Tom Rodriguez
0173db08e9 8198909: [Graal] compiler/codecache/stress/UnexpectedDeoptimizationTest.java crashed with SIGSEGV
Reviewed-by: eosterlund, iveresov
2018-06-24 21:46:11 -07: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
Thomas Stuefe
611c72e5bc 8203455: jcmd: VM.metaspace: print loader name for anonymous CLDs
Reviewed-by: lfoltan, goetz
2018-05-30 08:52:59 +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
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
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
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
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
Coleen Phillimore
7557d78b35 8173070: Remove ValueObj class for allocation subclassing for runtime code
Reviewed-by: stefank, tschatzl, stuefe
2018-03-09 10:46:02 -05:00
Ioi Lam
bc202d97bd 8191585: VM anonymous classes created during CDS dump time cause crash
Reviewed-by: hseigel, mseledtsov, ccheung
2018-03-06 22:08:30 -08: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
Zhengyu Gu
934390b571 8196923: [REDO] NMT: Report array class count in NMT summary
Added instance and array class counters in NMT summary report

Reviewed-by: minqi, stuefe, coleenp
2018-02-08 13:21:22 -05:00
Jesper Wilhelmsson
dd416bbf33 8196924: [BACKOUT] NMT: Report array class count in NMT summary
Reviewed-by: dholmes
2018-02-07 03:43:29 +01:00
Zhengyu Gu
41ace19206 8193184: NMT: Report array class count in NMT summary
Report array class and instance class count in NMT summary report

Reviewed-by: coleenp, minqi
2018-02-06 08:24:36 -05:00
Harold Seigel
34480e526e 8190235: Clarify ClassLoaderData::is_*_class_loader_data() method implementations
Add comments, fix a small issue with the boot loader, and add an assert.

Reviewed-by: coleenp, lfoltan, gtriantafill
2018-02-06 13:41:49 -05:00
Harold Seigel
83bb2205e8 8190359: Reduce the number of recorded klass dependencies
Skip recording dependencies to non-anonymous classes loaded by builtin class loaders.

Reviewed-by: iklam, coleenp, lfoltan
2018-02-02 10:37:48 -05:00
Jesper Wilhelmsson
fc1b01b9a2 Merge 2018-01-13 02:56:22 +01:00