650 Commits

Author SHA1 Message Date
Aleksey Shipilev
f4f094021c 8249141: Fix indent in java_lang_Record definition in vmSymbols.hpp
Reviewed-by: dholmes
2020-07-09 12:26:10 +02:00
Calvin Cheung
dc74336a65 8243586: Optimize calls to SystemDictionaryShared::define_shared_package for classpath
Define_shared_package only needs to be called once for each package in a jar specified in the shared class path.

Reviewed-by: iklam, dholmes, minqi
2020-07-01 21:05:14 +00:00
Harold Seigel
55bbaf1ae1 8248273: Small clean up for PerfClassTraceTime
Remove the unused code.

Reviewed-by: dholmes, redestad
2020-06-29 12:28:55 +00:00
Yumin Qi
0e60e8ad85 8246181: Avoid walking SymbolTable during -Xshare:dump
All symbols at dump are created as permanent. Store them in a global array to avoid working SymbolTable.

Reviewed-by: iklam, ccheung
2020-06-24 11:15:22 -07:00
Ioi Lam
27fc8b6787 8246546: Simplify SystemDictionary::is_shared_class_visible
Reviewed-by: minqi, ccheung
2020-06-23 21:23:00 -07:00
Xin Liu
4076ca82d2 8151779: Some intrinsic flags could be replaced with one general flag
Add ControlIntrinsic switch

Reviewed-by: neliasso, phh
2020-06-23 10:40:26 -07: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
Jesper Wilhelmsson
4862d0d542 Merge 2020-06-22 18:23:49 +02:00
Mandy Chung
f2b191a6e9 8247444: Trust final fields in records
Co-authored-by: Christoph Dreis <christoph.dreis@freenet.de>
Reviewed-by: jrose, dholmes, forax, coleenp, vlivanov
2020-06-19 08:27:59 -07:00
Stefan Karlsson
77bdc30650 8247470: Fix CHeap GrowableArray NMT accounting
Reviewed-by: coleenp, tschatzl, kbarrett
2020-06-16 09:37:53 +02:00
Leonid Mesnik
bac2e7fcad 8242328: Update mentions of ThreadMBean to ThreadMXBean
Reviewed-by: dholmes, iignatyev, sspitsyn
2020-06-12 14:33:55 -07:00
Poonam Bajaj
ac4603144d 8243290: Improve diagnostic messages for class verification and redefinition failures
Reviewed-by: coleenp, hseigel, sspitsyn
2020-06-12 12:51:32 +00:00
Joe Darcy
a5b5712733 8235496: Start of release updates for JDK 16
8245585: Add SourceVersion.RELEASE_16
8245586: Add source 16 and target 16 to javac
8245544: com/sun/tools/javac/platform/JDKPlatformProvider.java does not support ct.sym with platform versions 16+

Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: erikj, dholmes, ihse, neugens, jjg, jlahoda, jlaskey, mikael
2020-06-07 20:02:03 -07:00
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
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
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
cb960ee7b5 8245487: Potential double-free of interfaces array
Free _local_interfaces when we free _transitive_interfaces since they can share memory.

Reviewed-by: fparain, lfoltan, iklam
2020-06-05 06:54:05 -04:00
Ioi Lam
f39a71cafe 8243506: SharedBaseAddress is ignored by -Xshare:dump
Reviewed-by: stuefe, ccheung
2020-06-02 01:08:44 -07:00
Vicente Romero
d42bfef8a4 8227046: compiler implementation for sealed classes
8225056: VM support for sealed classes
8227044: javax.lang.model for sealed classes
8227045: Preview APIs support for sealed classes
8227047: Javadoc for sealed types
8245854: JVM TI Specification for sealed classes

Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, forax, darcy, dholmes, jlahoda, lfoltan, mchung, sspitsyn, vromero
2020-06-01 17:00:40 -04:00
Coleen Phillimore
5314d28f84 8245289: Clean up offset code in JavaClasses
Make offset member names consistent and private, move static initializations near owning classes

Reviewed-by: fparain, lfoltan
2020-05-29 15:00:19 -04:00
Yumin Qi
e6855f20b0 8245264: Test runtime/cds/appcds/SignedJar.java fails
Concurrent work of symbol table caused _shared_table not walkable in dumping archive which led symbols not sorted in shared archive. Change to use do_safepoint_scan of _local_table to collect symbols.

Reviewed-by: iklam, ccheung
2020-05-27 16:04:28 -07: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
Mikael Vidstedt
071bd521bc 8244224: Implementation of JEP 381: Remove the Solaris and SPARC Ports
Reviewed-by: alanb, bchristi, dcubed, dfuchs, eosterlund, erikj, glaubitz, ihse, iignatyev, jjiang, kbarrett, ksrini, kvn, naoto, prr, rriggs, serb, sspitsyn, stefank, tschatzl, valeriep, weijun, weijun
2020-05-20 17:33:37 -07:00
Thomas Stuefe
66514251c1 8244733: Add ResourceHashtable::xxx_if_absent
Reviewed-by: coleenp, iklam, rehn, dholmes
2020-05-20 15:56:39 +02: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
Thomas Stuefe
5b6f81de07 8244777: ClassLoaderStats VM Op uses constant hash value
Reviewed-by: coleenp, jbachorik
2020-05-14 08:48:36 +02:00
Erik Österlund
382e5dc334 8241825: Make compressed oops and compressed class pointers independent (x86_64, PPC, S390)
Reviewed-by: coleenp, fparain, stuefe, mdoerr
2020-05-13 09:36:12 +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
Claes Redestad
c2780c9556 8244550: Unsafe::allocateInstance does redundant transitions
Reviewed-by: coleenp, mchung, dholmes
2020-05-07 14:09:20 +02:00
Yumin Qi
0c0d485c37 8237750: Load libzip.so only if necessary
Libzip.so is unconditionally loaded even without usage. Fix by on demand loading.

Reviewed-by: dlong, iklam, ccheung
2020-05-05 15:40:18 -07:00
Ioi Lam
eadcb08c3c 8241071: Generation of classes.jsa with -Xshare:dump is not deterministic
Reviewed-by: dholmes, stuefe
2020-05-05 11:10:02 -07: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
Harold Seigel
d74e4f2237 8243572: Multiple tests fail with assert(cld->klasses() != 0LL) failed: unexpected NULL for cld->klasses()
Merge unsafe anonymous class stats with hidden classes, avoiding having to call cld->klasses()

Reviewed-by: lfoltan, mchung, mgronlun
2020-04-30 13:10:09 +00:00
Calvin Cheung
18c43241fb 8241815: Unnecessary calls to SystemDictionaryShared::define_shared_package
Avoid calling ClassLoaders.definePackage during loading of shared classes originated from the module image since java.lang.Package for named modules are automatically defined.

Reviewed-by: mchung, lfoltan
2020-04-28 00:09:53 +00:00
Coleen Phillimore
f8ab03fa04 8243503: InstanceKlass::_array_name is not needed and leaks
Decrement the refcount for all Klass in class unloading.

Reviewed-by: lfoltan, hseigel
2020-04-24 16:54:28 -04:00
Coleen Phillimore
90ada6a314 8238048: Close alignment gaps in InstanceKlass
Moved fields around and some constant fields into ConstantPool

Reviewed-by: cjplummer, dlong, iklam
2020-04-23 16:29:22 -04: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
Ioi Lam
0bc7cc4d28 8241158: SA TestHeapDumpForInvokeDynamic.java fails when CDS archive is relocated
Reviewed-by: ccheung
2020-04-20 17:33:52 -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
Claes Redestad
d185fe9953 8242452: During module definition, move conversion of packages from native to VM
8242290: Pointless verification in get_package_entry_by_name

Reviewed-by: lfoltan, iklam, hseigel
2020-04-18 19:45:45 +02: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
Henry Jen
0278846eaa Merge 2020-04-14 23:11:49 +00:00
Calvin Cheung
dd4e04d6f5 8242134: Consolidate the get_package_entry() in SystemDictionaryShared and ClassLoader
Keep the version in ClassLoader.

Reviewed-by: hseigel, redestad, lfoltan
2020-04-08 08:56:05 -07: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
9a6038fbf3 8241584: Remove unused classLoader perf counters
Reviewed-by: hseigel
2020-03-25 13:38:31 +01:00