Commit graph

66 commits

Author SHA1 Message Date
Ioi Lam
3f4964f83d 8293291: Simplify relocation of native pointers in archive heap
Reviewed-by: ccheung, coleenp
2022-10-19 04:57:56 +00:00
Ioi Lam
12317ef7d0 8293046: Move CDS command-line flags to cds_globals.hpp
Reviewed-by: dholmes, ccheung, coleenp
2022-08-31 19:58:36 +00:00
Coleen Phillimore
d3fed12867 8292864: Remove resourceHash.hpp from header files
Reviewed-by: stefank
2022-08-24 12:40:10 +00:00
Ioi Lam
27b0f7726b 8292318: Memory corruption in remove_dumptime_info
Reviewed-by: coleenp, ccheung
2022-08-22 03:43:27 +00:00
Ioi Lam
bd5855337c 8290833: Remove ConstantPoolCache::walk_entries_for_initialization()
Reviewed-by: coleenp, ccheung
2022-08-11 21:48:34 +00:00
Ioi Lam
bc6a3c7b83 8290739: Simplify storage of dump-time class information
Reviewed-by: ccheung
2022-07-27 23:52:30 +00:00
Ioi Lam
ad8914616b 8288601: Consolidate static/dynamic archive tables
Reviewed-by: ccheung
2022-06-21 05:20:58 +00:00
Ioi Lam
d983d108c5 8275731: CDS archived enums objects are recreated at runtime
Reviewed-by: coleenp, ccheung
2022-02-28 20:33:18 +00:00
Ioi Lam
09cf5f19d7 8278602: CDS dynamic dump may access unloaded classes
Reviewed-by: coleenp, ccheung
2022-01-04 04:52:49 +00:00
Calvin Cheung
bd92674be5 8276184: Exclude lambda proxy class from the CDS archive if its caller class is excluded
Reviewed-by: iklam, dholmes
2021-11-16 02:34:36 +00:00
Calvin Cheung
e5cd2692da 8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
Reviewed-by: minqi, dholmes
2021-10-26 16:26:57 +00:00
Calvin Cheung
12fa7073c5 8261941: Use ClassLoader for unregistered classes during -Xshare:dump
Reviewed-by: iklam, minqi
2021-09-16 17:32:02 +00:00
Ioi Lam
e7b6f48182 8265602: -XX:DumpLoadedClassList should support custom loaders
Reviewed-by: ccheung, minqi
2021-08-06 05:58:48 +00:00
Yumin Qi
f741e4ca74 8264735: Make dynamic dump repeatable
Reviewed-by: ccheung, iklam
2021-07-07 19:41:45 +00:00
Yumin Qi
ee1e202bc3 8268821: Split systemDictionaryShared.cpp
Reviewed-by: erikj, ccheung, iklam
2021-06-28 23:20:28 +00:00
Ioi Lam
bb24fa652a 8267189: Remove duplicated unregistered classes from dynamic archive
Reviewed-by: ccheung, minqi
2021-06-17 22:19:23 +00:00
Calvin Cheung
01054e6f5a 8268470: CDS dynamic dump asserts with JFR RecordingStream
Reviewed-by: minqi, iklam
2021-06-11 16:08:18 +00:00
Yumin Qi
7ff6e7b2b1 8267954: Shared classes that failed to load should not be loaded again
Reviewed-by: iklam, ccheung
2021-06-09 21:33:28 +00:00
Ioi Lam
91f9adc5f5 8268139: CDS ArchiveBuilder may reference unloaded classes
Reviewed-by: coleenp, ccheung
2021-06-05 15:22:38 +00:00
Ioi Lam
b961f2535c 8267191: Avoid repeated SystemDictionaryShared::should_be_excluded calls
Reviewed-by: dholmes, coleenp
2021-05-19 19:31:15 +00:00
Ioi Lam
95f0fd6c4d 8265696: Move CDS sources to src/hotspot/shared/cds
Reviewed-by: erikj, dholmes, stuefe
2021-04-23 04:13:02 +00:00
Yumin Qi
928fa5b5f9 8244540: Print more information with -XX:+PrintSharedArchiveAndExit
Reviewed-by: iklam, ccheung
2021-03-31 03:10:38 +00:00
Coleen Phillimore
507b690f88 8264126: Remove TRAPS/THREAD parameter for class loading functions
Reviewed-by: ccheung, iklam, dholmes
2021-03-26 13:11:34 +00:00
Calvin Cheung
1c9817b0bc 8261479: CDS runtime code should check exceptions
Reviewed-by: minqi, dholmes, iklam
2021-03-23 19:05:50 +00:00
Ioi Lam
8cfea7c523 8261921: ClassListParser::current should be used only by main thread
Reviewed-by: dholmes, ccheung, coleenp
2021-02-23 03:11:47 +00:00
Ioi Lam
235da6aa04 8261672: Reduce inclusion of classLoaderData.hpp
Reviewed-by: lfoltan, coleenp
2021-02-13 07:13:22 +00:00
Ioi Lam
c5ff454481 8250989: Consolidate buffer allocation code for CDS static/dynamic dumping
Reviewed-by: ccheung, coleenp
2021-02-07 07:10:38 +00:00
Coleen Phillimore
a421bfad28 8259839: SystemDictionary exports too much implementation
Reviewed-by: iklam, dholmes
2021-02-02 13:29:16 +00:00
Calvin Cheung
bbbfaa58c0 8249262: Initialize InstanceKlass::_package_entry during CDS dump time
Reviewed-by: iklam, minqi
2021-01-28 16:17:46 +00:00
Ioi Lam
396a496f3c 8260467: Move well-known classes from systemDictionary.hpp to vmClasses.hpp
Reviewed-by: dholmes, coleenp
2021-01-28 04:24:04 +00:00
Ioi Lam
02a0a027f4 8257563: Remove excessive include of klass.inline.hpp
Reviewed-by: dholmes, stuefe, stefank
2020-12-03 01:34:04 +00:00
Calvin Cheung
3da30e991a 8257241: CDS should not handle disableEagerInitialization for archived lambda proxy classes
Reviewed-by: iklam, redestad, mchung
2020-12-02 22:17:46 +00:00
Thomas Schatzl
d30956055b 8253081: G1 fails on stale objects in archived module graph in Open Archive regions
Change the handling of Open Archive areas, instead of assuming that everything in there is live always, a root containing references to all live root objects is provided. Adapt G1 to handle Open Archive regions as any other old region apart from never compacting or evacuating them.

Co-authored-by: Ioi Lam <iklam@openjdk.org>
Reviewed-by: kbarrett, sjohanss, redestad
2020-11-18 08:21:03 +00:00
Calvin Cheung
74ac77e2b1 8247666: Support Lambda proxy classes in static CDS archive
Reviewed-by: iklam, mchung
2020-10-19 18:27:50 +00:00
Yumin Qi
e4469d2c8c 8247536: Support for pre-generated java.lang.invoke classes in CDS static archive
Reviewed-by: iklam, mchung
2020-10-10 02:06:52 +00:00
Jie Fu
779d2c34ae 8253084: Zero VM is broken after JDK-8252689
Reviewed-by: iklam, dholmes
2020-09-14 07:21:04 +00:00
Yumin Qi
f978f6fe8a 8252689: Classes are loaded from jrt:/java.base even when CDS is used
Reviewed-by: iklam, ccheung
2020-09-14 03:39:13 +00:00
Ioi Lam
dd89c92c50 8251560: Remove excessive header file inclusion from systemDictionary.hpp and others
Reviewed-by: coleenp
2020-08-31 08:05:08 -07:00
Calvin Cheung
57d2c86985 8247529: Crash in runtime/cds/appcds/dynamicArchive/LambdaProxyCallerIsHidden.java with Graal
Avoid inserting InstanceKlass into the DumpTimeSharedClassTable after dynamic CDS dumping has started. Acquire the DumpTimeTable_lock before iterations on _dumptime_table to ensure memory order correctness.

Reviewed-by: iklam, minqi
2020-08-17 18:46:38 +00:00
Calvin Cheung
5088193336 8249630: unused is_static_archive parameter in SystemDictionaryShared::write_dictionary
Reviewed-by: minqi, dholmes
2020-07-23 16:52:08 +00:00
Ioi Lam
27fc8b6787 8246546: Simplify SystemDictionary::is_shared_class_visible
Reviewed-by: minqi, ccheung
2020-06-23 21:23:00 -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
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
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
Ioi Lam
0bc7cc4d28 8241158: SA TestHeapDumpForInvokeDynamic.java fails when CDS archive is relocated
Reviewed-by: ccheung
2020-04-20 17:33:52 -07: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
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