125 Commits

Author SHA1 Message Date
Yumin Qi
96fadefaa3 8240245: Avoid calling is_shared_class_visible() in SystemDictionary::load_shared_class()
SystemDitionary::load_shared_class can avoid calling is_shared_class_visible if dumptime and runtime do not use modulepath and boot classpath appending.

Reviewed-by: iklam, ccheung
2020-06-10 23:16:27 -07:00
Calvin Cheung
847a3baca8 8198698: Support Lambda proxy classes in dynamic CDS archive
Added archving of hidden classes of type lambda proxy classes.

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Reviewed-by: mchung, iklam, dholmes
2020-06-10 15:50:26 +00:00
Coleen Phillimore
498b0e61ed 8246340: Move SystemDictionary GC roots into OopStorage
Use vm_global() OopStorage for system dictionary roots

Reviewed-by: eosterlund, lfoltan
2020-06-05 09:55:31 -04:00
Coleen Phillimore
6aa15ad7ab 8166358: Re-enable String verification in java_lang_String::create_from_str()
Check for invalid strings in class names in debug mode, and only verify valid strings in create_for_str().

Reviewed-by: dholmes, hseigel
2020-05-26 09:44:17 -04:00
Erik Österlund
6508c5a38d 8243996: Remove hardcoded field offsets from HotSpot
Reviewed-by: jrose, coleenp, dholmes, fparain
2020-05-20 09:31:38 +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
Jie Fu
765a5b858b 8244276: Zero and minimal VM build failure after JDK-8178349 (use of undeclared identifier 'SystemDictionaryShared')
Reviewed-by: minqi, dholmes
2020-05-03 20:11:14 +08:00
Yumin Qi
832272da71 8178349: Cache builtin class loader constraints to avoid re-initializing itable/vtable for shared classes
Record loader constraints for built-in class which is loaded by app loader or platform loader in shared archive in dump time.  When the class loaded from shared archive at runtime, directly check loader constraints using the saved info so avoid lengthy relayout i/v-table at class link stage.

Reviewed-by: iklam, ccheung
2020-05-01 10:58:45 -07: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
Yumin Qi
7b8c373494 8240204: Optimize package handling for archived classes
ClassLoader::add_package just sets classpath_index to PackageEntry, moved the code to InstanceKlass. Also avoid calling check_prohibited_package since CDS does not archive prohibited classe in set_package.

Reviewed-by: hseigel, lfoltan, redestad, iklam
2020-04-20 16:36:15 -07:00
Lois Foltan
d37985cd70 8210012: Implement Unified Logging Option for -XX:+TraceMethodHandles and -XX:+TraceInvokeDynamic
Transition the tracing method handles command line options to unified logging, -Xlog:methodhandles.

Reviewed-by: dholmes, iklam, jrose
2020-04-15 21:01:02 +00:00
Calvin Cheung
512644de06 8240205: Avoid PackageEntry lookup when loading shared classes
Do the PackageEntry lookup at one place and then pass it along to the subsequently called functions which need it.

Reviewed-by: redestad, lfoltan
2020-04-03 14:26:42 -07:00
Claes Redestad
fb56759d08 8242027: Clean up LinkResolver::check_klass_accessability
Reviewed-by: dholmes
2020-04-02 18:22:27 +02:00
Claes Redestad
0d22ad6400 8241427: Coarsen locking in Modules::add_module_exports
Reviewed-by: lfoltan, hseigel
2020-03-26 00:02:08 +01:00
Claes Redestad
23d6a788b4 8241371: Refactor and consolidate package_from_name
Reviewed-by: iklam, lfoltan
2020-03-23 23:18:42 +01:00
Ioi Lam
046dcdc0bc 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated)
Reviewed-by: dcubed
2020-03-08 15:06:27 -07:00
Ioi Lam
7ba18fc015 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class
Reviewed-by: redestad, lfoltan, minqi
2020-03-04 22:26:48 -08:00
Lois Foltan
c280d98e80 8237766: Enhance signature API to include ResolvingSignatureStream
New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, fparain, hseigel
2020-03-02 18:42:22 +00:00
Ioi Lam
0532bd23cd 8240267: VM fails to start with CDS enabled but JVMTI disabled
Reviewed-by: dholmes
2020-03-01 17:36:03 -08:00
Yumin Qi
5bfb8146e9 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS
Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS

Reviewed-by: iklam, ccheung
2020-02-28 19:29:11 -08:00
Yumin Qi
add146cc8b 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS
Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage.

Reviewed-by: iklam, coleenp
2020-02-28 15:30:29 -08:00
Harold Seigel
a1e9328367 8235225: Replace CHECK_0 with CHECK_NULL for non-integer returning methods
Change CHECK_0 to CHECK_NULL and CHECK_false where appropriate

Reviewed-by: mikael, dholmes, coleenp
2020-02-27 13:00:05 +00:00
Lois Foltan
d19a396e96 8230199: consolidate signature parsing code in HotSpot sources
Add a new Signature class to support basic signature queries and enhance SignatureStream class to parse field signatures in addition to methods.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain, hseigel
2020-02-06 14:29:57 +00:00
Claes Redestad
c639682887 8236075: Minor bootstrap improvements
Reviewed-by: mchung, alanb
2020-01-21 13:28:15 +01:00
Harold Seigel
7fc58a1020 8235678: Remove unnecessary calls to Thread::current() in MutexLocker calls
Add THREAD argument when available and make Thread* the first argument to relevant MutexLocker and MonitorLocker constructors

Reviewed-by: lfoltan, coleenp, dholmes
2020-01-16 13:48:23 +00:00
Ioi Lam
cb75b6ee22 8235629: Remove unnecessary calls to Thread::current
Reviewed-by: coleenp, ccheung, hseigel
2019-12-11 15:25:38 -08:00
Stefan Karlsson
161333eeba 8234748: Clean up atomic and orderAccess includes
Reviewed-by: dholmes
2019-11-26 10:47:46 +01:00
Daniel D. Daugherty
b10495d436 8230876: baseline cleanups from Async Monitor Deflation v2.0[789]
Reviewed-by: dholmes, kvn
2019-11-20 09:10:02 -05:00
Coleen Phillimore
ed21b56269 8233913: Remove implicit conversion from Method* to methodHandle
Fix call sites to use existing THREAD local or pass down THREAD local for shallower callsites. Make linkResolver methods return Method* for caller to handleize if needed.

Reviewed-by: iklam, thartmann, hseigel
2019-11-13 08:23:23 -05:00
Coleen Phillimore
9308d18580 8232788: Move biased locking initalization
Reviewed-by: pchilanomate, dholmes
2019-10-24 08:52:33 -04:00
Claes Redestad
574263a884 8232613: Move Object.registerNatives into HotSpot
Reviewed-by: dholmes, adinn, coleenp, lfoltan, mchung
2019-10-24 09:57:29 +02:00
Claes Redestad
36ac846d35 8232881: Remove unnecessary InstanceKlass::casts
Reviewed-by: coleenp
2019-10-23 18:34:25 +02:00
Claes Redestad
86329fc198 8232887: Remove SystemDictionary::has_checkPackageAccess
Reviewed-by: coleenp, lfoltan
2019-10-23 15:48:11 +02:00
Lois Foltan
fce4320369 8231844: Enhance type signature characters in classfile_constants.h and improve the JVM to use type signature characters more consistently
Increase the use of type signature constants instead of hard coded characters within the JVM.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain
2019-10-21 13:13:16 -04:00
Claes Redestad
fe8c0edee0 8231993: Remove redundant pkg_str param from is_shared_class_visible_for_classloader
Reviewed-by: hseigel, coleenp
2019-10-08 15:48:36 +02:00
Jiangli Zhou
874037d252 8231630: Optimize boot loader with no bootclasspath append entry
Optimize SystemDictionary::load_instance_class for boot loader. Immediately return NULL if the requested class is either in the unnamed package or unnamed module, or in a module not defined to the boot loader, when there is no bootclasspath append entry.

Reviewed-by: martin, aeubanks, dthomson, redestad, lfoltan, iklam
2019-10-07 11:29:10 -07:00
Ioi Lam
b18626ae7a 8231275: Remove null check in the beginning of SystemDictionary::load_shared_class()
Reviewed-by: ccheung, coleenp
2019-09-22 17:17:58 -07:00
Ioi Lam
9c92ecba04 8231125: Improve testing of parallel loading of shared classes by the boot class loader
Reviewed-by: ccheung, coleenp, dholmes
2019-09-22 17:16:35 -07:00
Per Lidén
2d6874b861 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, tschatzl
2019-09-17 09:51:02 +02:00
Kim Barrett
1acad37ee6 8227054: ServiceThread needs to know about all OopStorage objects
8227053: ServiceThread cleanup of OopStorage is missing some

OopStorages provides named access and iteration.

Reviewed-by: eosterlund, pliden, coleenp
2019-08-21 18:42:30 -04:00
Stefan Karlsson
ae5615c614 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
Reviewed-by: rkennke, coleenp, kbarrett, dcubed
2019-08-06 10:48:21 +02:00
Kim Barrett
e396e38bb3 8227653: Add VM Global OopStorage
Replaced conditional JVMCI global storage with VM global storage.

Reviewed-by: tschatzl, lfoltan, kvn
2019-07-18 14:57:32 -04:00
Coleen Phillimore
04b98fd1df 8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ
Remove SystemDictionary::modification_counter optimization

Reviewed-by: dlong, eosterlund
2019-07-10 07:58:24 -04:00
Claes Redestad
00026605f6 8225344: Avoid VM_EnableBiasedLocking VM operation during bootstrap if BiasedLockingStartupDelay is 0
Reviewed-by: dcubed, shade, dholmes
2019-07-01 12:16:58 +02:00
Gerard Ziemski
2cf9999ae2 8225310: JFR crashed in JfrPeriodicEventSet::requestProtectionDomainCacheTableStatistics()
Added lock around table usage

Reviewed-by: coleenp, hseigel
2019-06-18 12:39:29 -05: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
Stefan Karlsson
c90f3ee68b 8223624: Cleanup includes of universe.hpp
Reviewed-by: coleenp, lkorinth
2019-05-09 14:28:30 +02:00
Gerard Ziemski
d988e67b89 8185525: Add JFR event for DictionarySizes
Added TableStatistics event

Reviewed-by: egahlin, coleenp
2019-05-08 11:11:50 -05:00
Vladimir Kozlov
e9c523ae5f 8220623: [JVMCI] Update JVMCI to support JVMCI based Compiler compiled into shared library
Reviewed-by: dnsimon, never, stefank, rehn, neliasso, dholmes, kbarrett, coleenp
2019-05-01 12:31:29 -07:00