52 Commits

Author SHA1 Message Date
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
Calvin Cheung
4ef7c919a2 8194812: Extend class-data sharing to support the module path
8199360: Rework the support for the 'ignored' module options in CDS

Reviewed-by: jiangli, lfoltan, iklam, mseledtsov
2018-04-10 11:43:40 -07:00
Stefan Karlsson
1a1aecd166 8200106: Move NoSafepointVerifier out from gcLocker.hpp
Reviewed-by: coleenp
2018-03-23 18:54:12 +01: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
Stuart Monteith
502b9b1da4 8193266: AArch64: TestOptionsWithRanges.java SIGSEGV
Fix hotspot jtreg test runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java failure on AArch64.

Reviewed-by: aph, coleenp, dsamersoff
2018-03-20 22:54:02 +08:00
Coleen Phillimore
221d0f4c54 8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files
Remove frame.inline.hpp,etc from header files and adjust transitive includes.

Reviewed-by: stefank, stuefe
2018-03-21 19:45:24 -04:00
Calvin Cheung
214248fe11 8196626: [Graal] runtime/appcds/UseAppCDS.java crashes with "VM thread using lock Heap_lock (not allowed to block on)"
Print a message and abort CDS dumping when the allocation of metaspace has failed

Reviewed-by: iklam, mseledtsov
2018-03-09 13:36:39 -08:00
Erik Österlund
a06129a432 8195148: Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet
Reviewed-by: ehelin, kbarrett
2018-03-06 08:36:44 +01:00
Calvin Cheung
efcc8d2558 8193434: [GRAAL] Graal classes are not loaded with -Xshare:dump
Allow loading of non-boot classes during CDS dumping but only add boot classes to the archive

Reviewed-by: kvn, iklam, jiangli
2018-03-02 17:33:59 -08:00
Jiangli Zhou
f987dec395 8194759: Support caching class mirror objects
Support archiving mirror objects for shared classes in 'open' archive java heap region.

Reviewed-by: coleenp, iklam, mseledtsov, tschatzl
2018-03-02 17:25:55 -05:00
Marcus Larsson
6ef9800875 8194994: Remove redundant string streams used for logging
Reviewed-by: rehn, iklam, coleenp
2018-02-13 14:10:56 +01: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
Calvin Cheung
915b2cd1f2 8192989: runtime/appcds/javaldr/ArrayTest.java crashes with assert(k->is_instance_klass())
Disable loading array classes from the class list

Reviewed-by: iklam, jiangli
2017-12-08 15:14:08 -08: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
Thomas Schatzl
793aa8d8ce 8189666: Replace various inlined percentage calculations with global percent_of()
Reviewed-by: sjohanss, sangheki
2017-10-23 11:46:25 +02:00
Jiangli Zhou
3ccd60110d 8174986: CDS archived java heap region may not compatible with AOT
Always uses LogKlassAlignmentInBytes for narrow_klass_shift when CDS is enabled.

Reviewed-by: iklam, ccheung
2017-10-06 19:33:27 -04:00