52 Commits

Author SHA1 Message Date
Erik Österlund
8b1844626a 8212682: Avoid holding Compile_lock when blocking for GC in ObjArrayKlass::allocate_objArray_klass()
Reviewed-by: coleenp, dlong
2018-11-20 10:08:18 +01:00
Ioi Lam
147fc3ed13 8213346: Re-implement shared dictionary using CompactHashtable
Reviewed-by: jiangli
2018-11-07 19:40:27 -08:00
Coleen Phillimore
d302072f50 8213211: [BACKOUT] Allow Klass::_subklass and _next_sibling to have unloaded classes
Reviewed-by: jiangli, jwilhelm
2018-10-31 14:38:14 -04:00
Coleen Phillimore
6a045adbed 8212958: Allow Klass::_subklass and _next_sibling to have unloaded classes
Don't return unloaded klasses. Make sure access is protected by Compile_lock.

Reviewed-by: eosterlund, dlong
2018-10-29 10:21:34 -04:00
David Holmes
c145bd0bd0 8199567: [Nestmates] Cleanup instanceKlass.cpp
Reviewed-by: lfoltan, coleenp
2018-10-23 17:01:48 -04:00
Harold Seigel
945623c998 8079784: Unexpected IllegalAccessError when trying access InnerClasses attribute
Prevent classes in the InnerClasses attribute from being loaded unless they are actually being accessed.

Reviewed-by: dholmes, lfoltan
2018-10-11 10:11:18 -04:00
Doug Simon
548eb6860a 8208686: [AOT] JVMTI ResourceExhausted event repeated for same allocation
Reviewed-by: never, kvn, sspitsyn
2018-10-05 20:03:14 +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
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
Harold Seigel
18bbeb53e6 8210470: Remove unused Verifier::verify() Verifier::Mode argument
Remove the unused argument.

Reviewed-by: coleenp, jiangli
2018-09-11 09:53:41 -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
Ioi Lam
bc62b3a40e 8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled
Added fieldDescriptor.inline.hpp

Reviewed-by: coleenp, shade
2018-08-20 13:58:23 -07: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
d1aea148fe 8207924: serviceability/sa/TestUniverse.java#id0 intermittently fails with assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
InstanceKlass::implementors() needs the Compile_lock

Reviewed-by: thartmann, eosterlund
2018-08-11 12:49:33 -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
Ioi Lam
1b2e7cbaef 8208999: Some use of Klass* should be replaced by InstanceKlass*
Klass::java_super() => InstanceKlass*; InstanceKlass::{local,transitive}_interfaces() => Array<InstanceKlass*>*

Reviewed-by: coleenp, hseigel
2018-08-07 15:45:07 -07: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
Harold Seigel
7d04a31fc8 8208399: Metadata methods print_(value_)on_maybe_null() compare 'this' to NULL
Add Method* parameter and make method static to avoid 'this' comparison with NULL

Reviewed-by: lfoltan, gziemski, coleenp
2018-07-31 09:55:09 -04:00
Lois Foltan
e8fcd927c3 8178712: ResourceMark may be missing inside initialize_[vi]table
Clean up use of ResourceMark within initialize_[vi]table.

Reviewed-by: ccheung, iklam, jiangli
2018-07-16 09:06:33 -04:00
Erik Österlund
e4dbe9909f 8205683: Refactor heap allocation to separate concerns
Reviewed-by: pliden, kbarrett
2018-06-28 14:22:28 +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
Lois Foltan
7ca4027957 8169559: Add class loader names to relevant VM messages
Added new method class_in_module_of_loader to provide a standard format for class information within error messages.

Reviewed-by: goetz, hseigel, mchung
2018-06-25 11:33:11 -04:00
Stefan Karlsson
11813888b8 8204540: Automatic oop closure devirtualization
Reviewed-by: kbarrett, eosterlund
2018-05-26 06:59:49 +02: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
David Holmes
95bf19563b 8010319: Implementation of JEP 181: Nest-Based Access Control
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Maurizio Mimadamore <maurizio.mimadamore@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Co-authored-by: Vlaidmir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Daniel Smith <daniel.smith@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Kumar Srinivasan <kumardotsrinivasan@gmail.com>
Co-authored-by: Boris Ulasevich <boris.ulasevich@bell-sw.com>
Reviewed-by: alanb, psandoz, mchung, coleenp, acorn, mcimadamore, forax, jlahoda, sspitsyn, abuckley
2018-06-23 01:32:41 -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
Goetz Lindenmaier
731d9b1499 8204268: Improve some IncompatibleClassChangeError messages
Reviewed-by: stuefe, hseigel
2018-06-15 12:31:28 +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
Goetz Lindenmaier
ff2c3d4dbe 8203881: Print erroneous size in NegativeArraySizeException
Reviewed-by: dholmes, stuefe
2018-05-30 11:39:26 +02:00
Calvin Cheung
aedb6040c6 8200466: Revisit the setting of _transitive_interfaces in InstanceKlass
Delay the setting of _transitive_interfaces until after initialize_supers() in fill_instance_klass().

Reviewed-by: iklam, coleenp
2018-05-02 09:26:10 -07: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
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
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
Roman Kennke
d4d5ea316b 8199739: Use HeapAccess when loading oops from static fields in javaClasses.cpp
Reviewed-by: kbarrett, eosterlund
2018-03-21 16:00:41 +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
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
Ioi Lam
a3cb6e9204 8178351: Simplify MetaspaceShared::is_in_shared_space and MetaspaceObj::is_shared
Use a single range check with MetaspaceObj::_shared_metaspace_{base,top}

Reviewed-by: jiangli, redestad, shade
2018-01-16 16:57:53 -08:00
Coleen Phillimore
ebd77628a4 8058259: compute_offset() is confusing for static fields
Remove most hard-coded offsets, have compute_offset function that takes a string and creates a TempNewSymbol, have static_field_addr() not add in InstanceMirrorKlass::offset_of_static_fields, ie use offset from find_field

Reviewed-by: kbarrett, sspitsyn
2018-01-08 09:46:31 -05:00
Erik Österlund
8f739404a7 8191567: Refactor ciInstanceKlass G1 keep alive barrier to use Access API
Reviewed-by: dholmes, rkennke, tschatzl
2018-01-08 13:22:05 +01:00
Coleen Phillimore
e908052a71 8189610: Reconcile jvm.h and all jvm_md.h between java.base and hotspot
Removed hotspot version of jvm*h and jni*h files.

Reviewed-by: ihse, mchung, dholmes
2017-10-31 11:55:09 -04:00
Ioi Lam
41796c1066 8185160: -XX:DumpLoadedClassList omits graal classes
Reviewed-by: jiangli, dholmes, lfoltan
2017-10-21 15:15:46 -07:00
Dean Long
e7270b8965 8132547: [AOT] support invokedynamic instructions
Reviewed-by: iveresov, kvn
2017-10-19 19:23:48 -07:00
Coleen Phillimore
39b068db11 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
With the new template functions these are unnecessary.

Reviewed-by: kbarrett, dholmes, eosterlund
2017-10-16 22:36:06 -04:00