461 Commits

Author SHA1 Message Date
Chris Phillips
561ec75b9b 8203030: Zero s390 31 bit size_t type conflicts in shared code
Cast to size_t or change to size_t foe compatibility with other archs.

Reviewed-by: pliden, dholmes
2018-06-19 10:00:39 -04:00
Lois Foltan
425e1a8bb8 8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name
Introduced ClassLoaderData::name() and ClassLoaderData::name_and_id() for use when obtaining a class loader's name.

Reviewed-by: coleenp, goetz, mchung, stuefe
2018-06-19 07:54:11 -04:00
Goetz Lindenmaier
731d9b1499 8204268: Improve some IncompatibleClassChangeError messages
Reviewed-by: stuefe, hseigel
2018-06-15 12:31:28 +02:00
Volker Simonis
79a09bd98b 8204965: Fix '--disable-cds' and disable CDS on AIX by default
Reviewed-by: erikj, jiangli, stuefe, dholmes
2018-06-19 09:43:53 +02:00
Robbin Ehn
5eb354a014 8204857: ConcurrentHashTable: Fix parallel processing
Reviewed-by: coleenp, gziemski
2018-06-18 16:13:21 +02:00
Kim Barrett
05b5a78903 8204939: Change Access nomenclature: root to native
Rename RootAccess => NativeAccess, IN_ROOT => IN_NATIVE, and related cleanups.

Reviewed-by: pliden, stefank, coleenp
2018-06-15 16:53:58 -04:00
Thomas Stuefe
5b7f558b70 8203343: VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes
Reviewed-by: coleenp, sspitsyn, dholmes
2018-06-14 21:49:46 +02:00
Harold Seigel
2595bdf177 8204620: ModuleEntry::is_non_jdk_module() determination for what is a jdk module is incorrect
Check module's loader and compare version with java.base's version to improve algorithm

Reviewed-by: lfoltan, mchung
2018-06-14 10:33:54 -04:00
David Holmes
ab90071069 8204668: Cleanup management of the java.vm.info System property
Reviewed-by: rehn, cjplummer
2018-06-14 02:01:31 -04:00
Robbin Ehn
6b62a66298 8204613: StringTable: Calculates wrong number of uncleaned items
Reviewed-by: pliden, coleenp
2018-06-14 07:26:27 +02: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
Per Lidén
e7af7a4aef 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Kim Barrett <kim.barrett@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Coleen Phillimore <coleen.phillimore@oracle.com>
Co-authored-by: Robbin Ehn <robbin.ehn@oracle.com>
Co-authored-by: Gerard Ziemski <gerard.ziemski@oracle.com>
Co-authored-by: Hugh Wilkinson <hugh.wilkinson@intel.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Co-authored-by: Bill Wheeler <bill.npo.wheeler@intel.com>
Co-authored-by: Vinay K. Awasthi <vinay.k.awasthi@intel.com>
Co-authored-by: Yasumasa Suenaga <yasuenag@gmail.com>
Reviewed-by: pliden, stefank, eosterlund, ehelin, sjohanss, rbackman, coleenp, ihse, jgeorge, lmesnik, rkennke
2018-06-12 17:40:28 +02: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
Thomas Stuefe
234cd9fca4 8203682: Add jcmd "VM.classloaders" command to print out class loader hierarchy, details
Reviewed-by: coleenp, dholmes
2018-06-07 12:23:46 +02:00
Coleen Phillimore
892a2af03f 8204301: Make OrderAccess functions available to hpp rather than inline.hpp files
Move orderAccess.inline.hpp into orderAccess.hpp and remove os.hpp inclusion and conditional os::is_MP() for fence on x86 platforms

Reviewed-by: dholmes, hseigel
2018-06-06 10:45:40 -04:00
David Holmes
ab275c586e 8199882: compiler/uncommontrap/TestDeoptOOM.java failed w/ fatal error: ExceptionMark constructor expects no pending exceptions
Pre-load AbstractOwnableSynchronizer class instead of lazy loading it.

Reviewed-by: sspitsyn, cjplummer, coleenp
2018-06-05 19:58:20 -04:00
Roman Kennke
482e40cc8c 8198285: More consistent Access API for arraycopy
Reviewed-by: eosterlund, shade
2018-06-04 23:01:48 +02:00
Lois Foltan
d623fc1bba 8202758: SIGSEGV calling Class.forName(String,Boolean,ClassLoader) with mocked loader
Check that the unnamed module for a given ClassLoader is an instance of java.lang.Module.

Reviewed-by: alanb, acorn, coleenp, dholmes, hseigel
2018-06-04 11:07:04 -04:00
Alex Menkov
4265f02657 8203031: segfaults from jvmti_AddToBootstrapClassLoaderSearch
Reviewed-by: sspitsyn, iklam, jiangli
2018-05-31 10:14:41 -07:00
Thomas Stuefe
611c72e5bc 8203455: jcmd: VM.metaspace: print loader name for anonymous CLDs
Reviewed-by: lfoltan, goetz
2018-05-30 08:52:59 +02:00
Coleen Phillimore
e3a3941c9a 8202813: Move vm_weak processing from SystemDictionary to WeakProcessor
SystemDictionary has all strong roots.  The weak oop_storage is processed by the WeakProcessor so it can be scanned and cleared concurrently and/or by parallel threads.

Reviewed-by: kbarrett, sjohanss
2018-05-29 15:50:27 -04:00
Calvin Cheung
55b6a9b02b 8203354: assert in ClassLoader::update_module_path_entry_list() could have incorrect message
Converting the assert in ClassLoader::update_module_path_entry_list() to a meaningful error message before aborting the CDS dump.

Reviewed-by: stuefe, iklam
2018-05-24 09:15:09 -07:00
Stefan Karlsson
6c2e9e1981 8203490: StringTable::dump lacks a load barrier
Reviewed-by: coleenp, pliden
2018-05-23 09:43:41 +02:00
Coleen Phillimore
37e51f4074 8202669: Intermittent crash in ClassLoadingService::compute_class_size()
Don't report classes that failed to load when reporting class unloading. Remove the classes first.

Reviewed-by: dholmes, lfoltan, ccheung
2018-05-22 13:10:56 -04:00
Ioi Lam
1ae12b4328 8203381: Replace InstanceKlass::allocate_instance_handle with JavaCalls::construct_new_instance
Reviewed-by: lfoltan, dholmes, coleenp, minqi
2018-05-18 09:15:08 -07: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
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
Goetz Lindenmaier
87ca9d07df 8203400: Fix issue with "8199852: Print more information about class loaders in LinkageErrors."
Reviewed-by: dholmes, lfoltan
2018-05-18 10:59:04 +02:00
Ioi Lam
5f578213c5 8189140: SystemDictionaryShared::initialize() should be renamed to be more meaningful
Removed this function, added JavaCalls::construct_new_instance and moved SharedDictionary_lock

Reviewed-by: jiangli, ccheung, dholmes, coleenp
2018-05-15 14:49:10 -07:00
Erik Gahlin
a060be188d 8199712: Flight Recorder
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, ihse, erikj, dsamersoff, mseledtsov, egahlin, mgronlun
2018-05-15 20:24:34 +02:00
Calvin Cheung
78ed5e2c4d 8202289: Non-empty directory in module path is not handled properly at CDS/AppCDS dump time
8202519: Crash during large AppCDS dump

Convert the source of a class into canonical form before comparing witha shared path table entry.

Reviewed-by: jiangli, iklam
2018-05-10 16:39:50 -07:00
Kim Barrett
65abdefedf 8202631: JVM_Clone to throw CloneNotSupportException for Reference object
JVM_Clone throws; delete previous partial support for cloning.

Reviewed-by: eosterlund, mchung, dholmes, coleenp
2018-05-08 20:59:58 -04:00
Stefan Karlsson
99072b90d7 8202647: Add deduplicate_string function to CollectedHeap
Reviewed-by: rehn, sjohanss
2018-05-07 14:57:25 +02: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
Goetz Lindenmaier
72a2ac8b8b 8199852: Print more information about class loaders in LinkageErrors
Reviewed-by: dholmes, lfoltan, gtriantafill
2018-05-07 11:38:21 +02:00
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +02:00
Calvin Cheung
aedb6040c6 8200466: Revisit the setting of _transitive_interfaces in InstanceKlass
Delay the setting of _transitive_interfaces until after initialize_supers() in fill_instance_klass().

Reviewed-by: iklam, coleenp
2018-05-02 09:26:10 -07: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
Matthias Baesken
cfcd657702 8201226: missing JNIEXPORT / JNICALL at some places in function declarations/implementations
Co-authored-by: Alexey Ivanov <alexey.ivanov@oracle.com>
Reviewed-by: ihse, mdoerr
2018-04-10 08:38:56 +02:00
Coleen Phillimore
ddfd4c33c6 8201556: Disallow reading oops in ClassLoaderData if unloading
Move class_loader oop to an OopHandle, and assert that holder is alive when getting class_loader.

Reviewed-by: kbarrett, adinn
2018-04-18 18:43:04 -04:00
Coleen Phillimore
c215aa5889 8201537: Remove is_alive closure from Klass::is_loader_alive()
Remove is_alive closure from callers of Klass::is_loader_alive so that cleaning metadata doesn't require GC closure.

Reviewed-by: adinn, stefank
2018-04-18 13:37:39 -04:00
Coleen Phillimore
36d1d59425 8201505: Use WeakHandle for ProtectionDomainCacheTable and ResolvedMethodTable
8193524: Redefining a method that removes use of 1 or more lambda expressions causes the JVM to hang

Remove oop pointers from runtime data structures.

Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Reviewed-by: lfoltan, stefank
2018-04-18 12:06:53 -04:00
Coleen Phillimore
1ee531afe9 8200555: OopHandle should use Access API
Add RootAccess<> to OopHandle.resolve() in runtime and interpreter code.  Add comments for compiler code for later.

Reviewed-by: eosterlund, stefank
2018-04-18 10:39:40 -04:00
Kim Barrett
1ac19a3166 8192025: Less referential references
Reviewed-by: coleenp, eosterlund, mchung, ahgross, rhalade
2018-01-18 22:17:11 -05:00
Harold Seigel
f988f60dc8 8189123: More consistent classloading
Reviewed-by: acorn, ahgross, rhalade
2017-11-07 16:07:36 -05:00
Harold Seigel
1094fd9927 8201265: Native memory leak in ClassLoader::add_to_exploded_build_list
Allocate from temporary thread local memory instead of C heap memory.

Reviewed-by: coleenp, dholmes, lfoltan
2018-04-11 10:05:02 -04: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
Coleen Phillimore
d187884156 8198313: Wrap holder object for ClassLoaderData in a WeakHandle
Use WeakHandle for ClassLoaderData::_holder so that is_alive closure is not needed

Reviewed-by: rehn, kbarrett
2018-04-10 10:06:42 -04:00
Stefan Karlsson
367f9ea984 8201244: Clean out unnecessary includes of heap headers
Reviewed-by: coleenp, shade
2018-04-10 12:21:05 +02:00