67 Commits

Author SHA1 Message Date
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
Coleen Phillimore
3559b6be76 8209958: Clean up duplicate basic array type statics in Universe
Reviewed-by: lfoltan, zgu
2018-08-28 18:17:01 -04:00
Ioi Lam
5b2c081460 8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed
Relocate and patch archive regions if necessary

Reviewed-by: jiangli, tschatzl
2018-08-14 09:59:37 -07:00
Ioi Lam
73951ab5d9 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
Added src/hotspot/share/include/cds.h

Reviewed-by: ccheung, sspitsyn, jgeorge
2018-08-17 13:53:53 -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
Ioi Lam
2e941724e4 8209545: Simplify HeapShared::archive_module_graph_objects
Added archivable_static_fields array in heapShared.cpp

Reviewed-by: jiangli
2018-08-15 11:19:57 -07:00
Jiangli Zhou
da4684e2e1 8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work
Check the MetaspaceShared::archive_heap_object return value and handle failure accordingly.

Reviewed-by: iklam, coleenp
2018-08-16 17:29:22 -04:00
Ioi Lam
e12ee81ff0 8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes
Added BASIC_JAVA_CLASSES_DO in javaClasses.hpp

Reviewed-by: jiangli, redestad, coleenp
2018-08-14 20:46:46 -07:00
Jiangli Zhou
a5d14313f5 8207263: Store the Configuration for system modules into CDS archive
Archive boot layer Configuration.

Reviewed-by: redestad, iklam, ccheung
2018-08-10 00:35:57 -04:00
Jiangli Zhou
9ba5bab865 8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module
Support system module archiving with unnamed initial module at dump time.

Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Reviewed-by: erikj, coleenp, mchung, iklam, ccheung
2018-07-08 12:43:05 -04:00
Jiangli Zhou
884f9db3c6 8205699: assert(_owner_offset != 0) failed in javaClasses.cpp
Added java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize.

Reviewed-by: ccheung, dholmes
2018-06-27 11:55:35 -04:00
Kim Barrett
df34500027 8204585: Remove IN_ARCHIVE_ROOT from Access API
Replaced Access API with API on heap.

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: jiangli, coleenp, tschatzl
2018-06-12 18:12:59 -04:00
Robbin Ehn
66f8951e15 8195097: Make it possible to process StringTable outside safepoint
Reviewed-by: coleenp, gziemski, iklam, jiangli
2018-06-07 14:11:56 +02:00
Ioi Lam
f9742fc0a6 8193332: MetaspaceShared::check_shared_class_loader_type is not used during archive creation
Reviewed-by: lfoltan, jiangli
2018-05-21 21:27:12 -07:00
Stefan Karlsson
90a2a92fe3 8202709: Move oopDesc::is_archive_object to MetaspaceShared::is_archive_object
Reviewed-by: ehelin, jiangli
2018-05-07 14:57:23 +02:00
Ioi Lam
e48f38966b 8197954: Remove unnecessary intermediary APIs from AppCDS implementation
Reviewed-by: jiangli, ccheung
2018-04-26 13:40:58 -07:00
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +02:00
Jiangli Zhou
20edc74068 8193213: Make the UseAppCDS option obsolete
8182731: Odd handling of -XX:-UseAppCDS and -XX:SharedArchiveFile

Application class data sharing is enabled without -XX:+UseAppCDS. SharedArchiveFile is now a product flag.

Reviewed-by: dholmes, ihse, erikj, ccheung
2018-04-30 16:59:05 -04:00
Calvin Cheung
894e8c6479 8197972: Always verify non-system classes during CDS dump time
Use -Verify:remote even if the user specifies -Xverify:none during CDS dump time

Reviewed-by: iklam, mseledtsov, jiangli
2018-04-17 16:19:48 -07:00