85 Commits

Author SHA1 Message Date
Calvin Cheung
9e2ab1e363 8232081: Try to link all classes during dynamic CDS dump
During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks().

Reviewed-by: iklam, dholmes
2020-03-06 15:33:13 -08: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
Calvin Cheung
5229896f4f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state
Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo.

Reviewed-by: iklam, minqi
2020-03-04 15:34:53 -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
Yumin Qi
c37ebcd730 8232069: Enable CDS even when UseCompressedClassPointers and/or UseCompressedOops are false
Fix to save UseCompressedOops and UseCompressedClassPointers in shared archive and at runtime run with CDS only if they are matched the stored versions.

Reviewed-by: iklam, ccheung
2020-02-11 12:16:23 -08:00
Ioi Lam
d5bdb76e84 8236236: Eliminate CDS md region and consolidate c++ vtable patching code
Reviewed-by: ccheung
2020-01-22 11:52:27 -08:00
Ioi Lam
d1ad0eaf8f 8233826: Change CDS dumping tty->print_cr() to unified logging
Reviewed-by: coleenp, dholmes, jiangli
2019-12-19 23:04:49 -08:00
Nick Gasson
aea0a57512 8234794: AArch64: runtime/memory/ReadFromNoaccessArea.java crashes
Try to map CDS shared space at 4G aligned address on AArch64

Reviewed-by: adinn, aph, jiangli, iklam
2019-12-19 09:47:33 +08:00
Ioi Lam
cb75b6ee22 8235629: Remove unnecessary calls to Thread::current
Reviewed-by: coleenp, ccheung, hseigel
2019-12-11 15:25:38 -08:00
Ioi Lam
749bda0e2d 8235490: AppCDS DynamicArchiveRelocationTest.java failed: 'always map archive(s) at an alternative address' missing
Reviewed-by: coleenp, ccheung
2019-12-09 09:59:03 -08:00
Vicente Romero
827e5e3226 8225054: Compiler implementation for records
8225052: javax.lang.model support for records
8225053: Preview APIs support for records
8225055: Javadoc for records
8226314: com.sun.source support for records
8227113: Specification for java.lang.Record
8233526: JVM support for records

Implement records in the compiler and the JVM, including serialization, reflection and APIs support

Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, briangoetz, alanb, darcy, chegar, jrose, jlahoda, coleenp, dholmes, lfoltan, mchung, sadayapalam, hannesw, sspitsyn
2019-12-04 15:57:39 -05:00
Ioi Lam
2a36577e68 8234539: ArchiveRelocationTest.java failed: Archive mapping should always succeed
Reviewed-by: ccheung
2019-11-22 17:45:48 -08:00
Ioi Lam
5678f98a9e 8231610: Relocate the CDS archive if it cannot be mapped to the requested address
Reviewed-by: jiangli, coleenp, ccheung
2019-11-13 16:36:54 -08: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
Calvin Cheung
b08a8c5cc3 8231606: _method_ordering is not set during CDS dynamic dump time
Add the missing DynamicDumpSharedSpaces check in sort_methods(); replace the (DumpSharedSpaces || DynamicDumpSharedSpaces) with the Arguments::is_dumping_archive() function call.

Reviewed-by: iklam, coleenp, jiangli
2019-10-02 16:55:08 -07:00
Ioi Lam
35bfbfd600 8231278: Rename FileMapHeader::_read_only_tables_start to _serialized_data_start
Reviewed-by: ccheung
2019-09-23 19:55:26 -07:00
Ioi Lam
7c2de83027 8231257: Avoid calling FileMapInfo::write_region twice
Reviewed-by: ccheung
2019-09-23 19:54:37 -07:00
Calvin Cheung
e8ee2800f5 8186988: use log_warning() and log_error() instead of tty->print_cr for CDS warning and error messages
Reviewed-by: stuefe, iklam, dholmes
2019-09-12 09:59:19 -07:00
Ioi Lam
988ac4fec0 8230586: Encapsulate fields in filemap.hpp
Reviewed-by: ccheung
2019-09-11 18:31:25 -07:00
Calvin Cheung
d0725682a8 8224497: Remove FIXME in metaspaceClosure.cpp
Also cleaned up some comment and code related to the od (optional data) region.

Reviewed-by: iklam, jiangli
2019-06-07 14:03:17 -07:00
Nick Gasson
72daa46d46 8224853: CDS address sanitizer errors
Reviewed-by: iklam, dholmes
2019-06-04 17:56:16 +08:00
Calvin Cheung
72dc5721e0 8207812: Implement Dynamic CDS Archive
Improve the usability of AppCDS

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Co-authored-by: Jiangli Zhou <jianglizhou@google.com>
Reviewed-by: acorn, jiangli, mseledtsov
2019-05-17 08:29:55 -07: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
Stefan Karlsson
c90f3ee68b 8223624: Cleanup includes of universe.hpp
Reviewed-by: coleenp, lkorinth
2019-05-09 14:28:30 +02:00
Stefan Karlsson
5a8ba256df 8223136: Move compressed oops functions to CompressedOops class
Reviewed-by: coleenp, lkorinth
2019-05-09 14:26:03 +02:00
Ao Qi
460c22f03d 8221763: Build fails when using --with-jvm-features=-g1gc,-jfr,-shenandoahgc
Add missing #include of softRefPolicy.hpp

Reviewed-by: kbarrett
2019-04-02 00:23:31 +08:00
Ioi Lam
d06f3e7e28 8218751: Do not store original classfiles inside the CDS archive
Remove the OD shared region and decode classfiles on the fly

Reviewed-by: jiangli, ccheung, sspitsyn, redestad
2019-02-21 17:07:35 -08:00
Claes Redestad
d589fa875d 8217921: Runtime dead code removal
Reviewed-by: coleenp, sgehwolf, dholmes
2019-01-29 14:43:05 +01:00
Calvin Cheung
b8bf6b95a3 8216184: CDS/appCDS tests failed on Windows due to long path to a classlist file
Use os::open() instead of fopen()

Reviewed-by: iklam, dholmes
2019-01-11 14:05:57 -08:00
Thomas Schatzl
528361f7ae 8214850: Rename vm_operations.?pp files to vmOperations.?pp files
Reviewed-by: dholmes, coleenp
2018-12-06 15:44:40 +01:00
Ioi Lam
a0a108fb01 8214388: CDS dumping fails with java heap fragmentation
Force a full GC with a single thread before writing heap archive regions

Reviewed-by: sjohanss, jiangli
2018-12-03 22:27:24 -08:00
Ioi Lam
6d269930fd 8213587: Speed up CDS dump time by using resizable hashtables
Reviewed-by: jiangli, coleenp, gziemski
2018-11-20 20:00:15 -08:00
Calvin Cheung
8761824649 8201375: Add the AllowArchivingWithJavaAgent diagnostic vm option to allow the use of the -javaagent option during CDS dumping
Allow Java agent during CDS dumping if the AllowArchivingWithJavaAgent dignostic option is specified.

Reviewed-by: iklam, jiangli, sspitsyn, dcubed
2018-11-16 16:10:25 -08:00
Jiangli Zhou
f049167354 8213713: Minor issues during MetaspaceShared::initialize_runtime_shared_and_meta_spaces
1)Populate MetaspaceShared::_core_spaces_size early at mapping time; 2)Fix FileMapInfo::validate_shared_path_table to report failure properly; 3)Remove dead code in FileMapInfo::validate_shared_path_table.

Reviewed-by: iklam, ccheung
2018-11-14 18:49:02 -05:00
Ioi Lam
147fc3ed13 8213346: Re-implement shared dictionary using CompactHashtable
Reviewed-by: jiangli
2018-11-07 19:40:27 -08:00
Jiangli Zhou
beb5b05d44 8213563: appcds/sharedStrings/SharedStringsStress.java fails with 'GC triggered before VM initialization completed' error
Move MetaspaceShared::read_extra_data() call to the main MetaspaceShared::preload_and_dump() operation.

Reviewed-by: iklam
2018-11-13 15:11:53 -05:00
Ioi Lam
b84cf61b08 8213250: CDS archive creation aborts due to metaspace object allocation failure
Reviewed-by: jiangli, ccheung
2018-11-01 10:59:05 -07:00
Jiangli Zhou
a73856351a 8213439: Run class initialization for boot loader classes with registered subgraph archiving entry field during CDS dump time
Run class initialization for boot classes with registered subgraph archiving entry fieldi(s) at CDS dump time.

Reviewed-by: dholmes, iklam
2018-11-08 19:16:16 -05:00
Jiangli Zhou
80ad2c7e71 8212995: Placing the Integer.IntegerCache and cached Integer objects in the closed archive heap region
Support shareable archive object subgraphs in closed archive heap regions.

Reviewed-by: iklam, ccheung
2018-11-03 15:40:19 -04:00
Calvin Cheung
fc19077b52 8213000: Obsolete the IgnoreUnverifiableClassesDuringDump vm option
Remove code referencing the IgnoreUnverifiableClassesDuringDump

Reviewed-by: dholmes, jiangli
2018-10-31 14:00:51 -07:00
Ioi Lam
9a06fc3ea7 8212205: VM asserts after CDS archive has been unmapped
Reviewed-by: dholmes, jiangli, hseigel, stuefe
2018-10-25 11:23:43 -07:00
Calvin Cheung
7c81535d46 8209598: Clean up how messages are printed when CDS aborts start-up
Added a new function vm_exit_during_cds_dumping() to java.cpp so that it can be used when an error condition is encountered during CDS dumping.

Reviewed-by: iklam, dholmes, jiangli
2018-10-25 21:40:17 -07:00
Jiangli Zhou
a2ad8f419f 8206009: Move CDS java heap object archiving code to heapShared.hpp and heapShared.cpp
Restructure and cleanup java heap object archiving code.

Reviewed-by: coleenp, iklam
2018-10-09 15:58:07 -04:00
Ioi Lam
2f82ed4f1d 8210388: Use hash table to store archived subgraph_info records
Reviewed-by: jiangli
2018-10-08 16:29:10 -07:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Ioi Lam
1619cbd14b 8210864: Reduce the use of metaspaceShared.hpp
Reviewed-by: coleenp, lfoltan
2018-09-18 21:46:17 -07:00
Ioi Lam
4e74846da8 8210523: runtime/appcds/cacheObject/DifferentHeapSizes.java crash
Reviewed-by: jiangli, ccheung
2018-09-12 17:45:22 -07:00
Ioi Lam
e80b128db4 8210289: ArchivedKlassSubGraphInfoRecord is incomplete
Reviewed-by: jiangli, ccheung
2018-09-05 18:14:45 -07:00
Jiangli Zhou
bd77f790c3 8209971: TestOptionsWithRanges.java crashes in CDS mode with G1UpdateBufferSize=1
Fixup archive heap regions before restoring any archived java object at runtime.

Reviewed-by: iklam, ccheung
2018-09-07 15:18:14 -04: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