61 Commits

Author SHA1 Message Date
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27:07 +01: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
Harold Seigel
7fc58a1020 8235678: Remove unnecessary calls to Thread::current() in MutexLocker calls
Add THREAD argument when available and make Thread* the first argument to relevant MutexLocker and MonitorLocker constructors

Reviewed-by: lfoltan, coleenp, dholmes
2020-01-16 13:48:23 +00:00
Thomas Schatzl
fab3122111 8214277: Use merged G1ArchiveRegionMap for open and closed archive heap regions
Reviewed-by: kbarrett, jiangli
2020-01-09 21:57:18 +01: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
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
2429c8a484 8233446: Improve error handling when specified dynamic archive doesn't exist
Reviewed-by: lfoltan, ccheung
2019-11-22 15:31:52 -08:00
Christoph Göttschkes
b3860fd4da 8234324: ARM32 build broken after 8231610
Reviewed-by: iklam, aph
2019-11-18 13:22:27 +01: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
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
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
Erik Österlund
f869706f5f 8224815: Remove non-GC uses of CollectedHeap::is_in_reserved()
Reviewed-by: stefank, coleenp
2019-09-05 08:26:49 +02:00
Ioi Lam
87eefe2e00 8227370: Remove SharedPathsMiscInfo
Reviewed-by: ccheung, jiangli
2019-08-27 22:14:52 -07:00
Ioi Lam
11ca73d744 8230168: Use ClasspathStream for FileMapInfo::create_path_array
Reviewed-by: lfoltan, fparain
2019-08-27 22:14:15 -07:00
Mikael Vidstedt
895db11053 Merge 2019-07-29 09:59:04 -07:00
Calvin Cheung
fc7aa2306c 8228407: JVM crashes with shared archive file mismatch
Stop processing other header fields if initial header check has failed.

Reviewed-by: dholmes, jiangli
2019-07-25 10:25:52 -07:00
Mikael Vidstedt
f08a9de3b2 Merge 2019-07-17 04:33:37 -07:00
Calvin Cheung
a6b4e5c3d1 8226406: JVM fails to detect mismatched or corrupt CDS archive
Check important archive header fields such as _jvm_ident before processing other fields.

Reviewed-by: iklam, jiangli
2019-07-12 08:40:37 -07:00
Calvin Cheung
5d1361df03 8211723: AppCDS: referring to a jar file in any way other than exactly how it was done during dumping doesn't work
Replaced os::file_name_strncmp() with os::same_files().

Reviewed-by: iklam, jiangli
2019-06-28 09:49:10 -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
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
Claes Redestad
cc6cc06183 8221478: Disable VerifySharedSpaces by default
Reviewed-by: iklam, dholmes
2019-05-14 12:00:49 +02:00
Stefan Karlsson
feeab37ce7 8223637: Fix build breakage after 8223136
Co-authored-by: Lutz Schmidt <lutz.schmidt@sap.com>
Co-authored-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Co-authored-by: Aleksey Shipilev <shade@redhat.com>
Reviewed-by: stefank, coleenp
2019-05-11 13:10:24 +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
Coleen Phillimore
733d251078 8222379: JFR TestClassLoadEvent.java failed due to EXCEPTION_ACCESS_VIOLATION
Give fatal error if CDS loses archive mapping.

Reviewed-by: iklam, ccheung, jiangli
2019-04-18 07:02:07 -04:00
Ioi Lam
e2ffa15762 8221351: Crash in KlassFactory::check_shared_class_file_load_hook
Reviewed-by: dholmes, ccheung
2019-03-29 08:42:32 -07:00
Matthias Baesken
4de51069e4 8218811: replace open by os::open in hotspot coding
Reviewed-by: dholmes, iklam, stuefe
2019-02-18 16:17:48 +01: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
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
Jiangli Zhou
bc215804a4 8214217: [TESTBUG] runtime/appcds/LotsOfClasses.java failed with fragmented heap
Improve the fragmentation error message. Set java heap size in LotsOfClasses.java.

Reviewed-by: iklam, ccheung
2018-11-27 17:53:17 -05:00
Stefan Johansson
bde8307cf9 8214118: HeapRegions marked as archive even if CDS mapping fails
Reviewed-by: tschatzl, jiangli
2018-11-23 10:57:07 +01: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
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
Ioi Lam
93395f6a9e 8212200: assert when shared java.lang.Object is redefined by JVMTI agent
Reviewed-by: dholmes, jiangli, hseigel, lfoltan, sspitsyn
2018-10-17 15:57:10 -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
Jiangli Zhou
ace36f9ac3 8211956: AppCDS crashes for some uses with JRuby
Make sure FileMapInfo::verify_mapped_heap_regions only verifies 'num' of spaces.

Reviewed-by: iklam
2018-10-15 15:21:54 -04: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
6c59cb232f 8210875: Refactor CompactHashtable
Reviewed-by: ccheung, jiangli
2018-09-18 21:47:14 -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
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
593590305d 8209826: Undefined reference to os::write after JDK-8209657 (filemap.hpp cleanup)
Include os_inline.hpp instead

Reviewed-by: jiangli
2018-08-21 20:23:34 -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
Calvin Cheung
660c7e50f7 8209385: CDS runtime classpath checking is too strict when only classes from the system modules are archived
Skip checking the path entries which are not being referenced during CDS dump time

Reviewed-by: jiangli, iklam
2018-08-17 14:50:59 -07:00
Goetz Lindenmaier
8a9b0134a8 8206977: Minor improvements of runtime code
Reviewed-by: coleenp, lfoltan
2018-07-11 16:11:10 +02:00
Jiangli Zhou
422e112ffd 8199807: AppCDS performs overly restrictive path matching check
8203377: Cleanup the usage of os::file_name_strcmp() in SharedPathsMiscInfo::check()

Relax CDS/AppCDS path check for modules image.

Reviewed-by: iklam, ccheung
2018-05-21 15:15:58 -04:00
Ioi Lam
e48f38966b 8197954: Remove unnecessary intermediary APIs from AppCDS implementation
Reviewed-by: jiangli, ccheung
2018-04-26 13:40:58 -07:00