48 Commits

Author SHA1 Message Date
Patricio Chilano Mateo
4ef5590fa7 8206423: Use locking for cleaning ResolvedMethodTable
ServiceThread is now in charge of cleaning ResolvedMethodTable entries

Reviewed-by: gziemski, dholmes, coleenp
2018-08-21 10:37:02 -04: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
Coleen Phillimore
ef15adee70 8209541: Fix merge problem in SymbolTable::do_check_concurrent_work
Remerged with previous change to do_unloading.

Reviewed-by: hseigel
2018-08-15 16:01:48 -04:00
Harold Seigel
83b2fb5b0d 8207778: Add locking to ModuleEntry and PackageEntry tables
Restructure ClassLoaderDataGraph code to simplify using locks in SystemDictionary::do_unloading()

Reviewed-by: lfoltan, coleenp
2018-08-10 09:30:26 -04:00
Ioi Lam
1b2e7cbaef 8208999: Some use of Klass* should be replaced by InstanceKlass*
Klass::java_super() => InstanceKlass*; InstanceKlass::{local,transitive}_interfaces() => Array<InstanceKlass*>*

Reviewed-by: coleenp, hseigel
2018-08-07 15:45:07 -07:00
Harold Seigel
38db1d1620 8202171: Some oopDesc functions compare this with NULL
Add Method* parameter and made verify* methods static to avoid 'this' comparison with NULL, Added NULL checks before calling print_on() methods.

Reviewed-by: kbarrett, coleenp
2018-07-31 14:24:10 -04:00
Ioi Lam
9959e34180 8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass
Reviewed-by: jiangli
2018-07-20 12:19:28 -07:00
Coleen Phillimore
39dd04b953 8207359: Make SymbolTable increment_refcount disallow zero
Use cmpxchg for non permanent symbol refcounting, and pack refcount and length into an int.

Reviewed-by: gziemski, kbarrett, iklam
2018-07-20 14:52:11 -04:00
Lois Foltan
cc58241bec 8205611: Improve the wording of LinkageErrors to include module and class loader information
Clean up the wording of loader constraint violations to include the module and class loader information.

Reviewed-by: coleenp, goetz, hseigel
2018-07-16 11:34:17 -04:00
Goetz Lindenmaier
8a9b0134a8 8206977: Minor improvements of runtime code
Reviewed-by: coleenp, lfoltan
2018-07-11 16:11:10 +02:00
Paul Sandoz
14651d9e02 8195650: Method references to VarHandle accessors
Reviewed-by: jrose
2018-06-25 14:39:44 -07:00
David Holmes
95bf19563b 8010319: Implementation of JEP 181: Nest-Based Access Control
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Maurizio Mimadamore <maurizio.mimadamore@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Co-authored-by: Vlaidmir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Daniel Smith <daniel.smith@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Kumar Srinivasan <kumardotsrinivasan@gmail.com>
Co-authored-by: Boris Ulasevich <boris.ulasevich@bell-sw.com>
Reviewed-by: alanb, psandoz, mchung, coleenp, acorn, mcimadamore, forax, jlahoda, sspitsyn, abuckley
2018-06-23 01:32:41 -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
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
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
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
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
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
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
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
Kim Barrett
1ac19a3166 8192025: Less referential references
Reviewed-by: coleenp, eosterlund, mchung, ahgross, rhalade
2018-01-18 22:17:11 -05: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
Roman Kennke
b938ae51ce 8199781: Don't use naked == for comparing oops
Reviewed-by: coleenp, eosterlund, jrose
2018-04-03 13:15:27 +02:00
Claes Redestad
243b2364f6 8200238: Reduce number of exceptions created when calling MemberName$Factory::resolveOrNull
Reviewed-by: lfoltan, acorn, dholmes
2018-03-29 10:38:29 +02:00
Stefan Karlsson
1a1aecd166 8200106: Move NoSafepointVerifier out from gcLocker.hpp
Reviewed-by: coleenp
2018-03-23 18:54:12 +01:00
Stefan Karlsson
7595845e9a 8200105: Remove cyclic dependency between oop.inline.hpp and collectedHeap.inline.hpp
Reviewed-by: coleenp, kbarrett
2018-03-15 21:29:36 +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
Ioi Lam
bc202d97bd 8191585: VM anonymous classes created during CDS dump time cause crash
Reviewed-by: hseigel, mseledtsov, ccheung
2018-03-06 22:08:30 -08:00
Coleen Phillimore
4c3e072611 8198926: Move ClassLoaderData::_dependencies to ClassLoaderData::_handles
Move dependency creation and cleaned up logging

Reviewed-by: hseigel, jiangli
2018-03-06 17:15:16 -05:00
Harold Seigel
c0bc887c36 8191102: Incorrect include file use in classLoader.hpp
Move appropriate methods to <fiile>.inline.hpp files.  Create <file>.inline.hpp files when needed.

Reviewed-by: coleenp, dholmes
2018-03-05 10:29:23 -05: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
Harold Seigel
7d1735efbb 8184289: Obsolete -XX:+UnsyncloadClass and -XX:+MustCallLoadClassInternal options
Add comments, fix a small issue with the boot loader, and add an assert.

Reviewed-by: coleenp, alanb, acorn, dholmes
2018-02-21 11:18:52 -05:00
Paul Sandoz
e55a05957d 8186209: Tool support for ConstantDynamic
8186046: Minimal ConstantDynamic support
8190972: Ensure that AOT/Graal filters out class files containing CONSTANT_Dynamic ahead of full AOT support

Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: acorn, coleenp, kvn
2017-09-08 10:46:46 -07:00
Vladimir Ivanov
72ba3f508c 8194963: SystemDictionary::link_method_handle_constant() can't link MethodHandle.invoke()/invokeExact()
Reviewed-by: kvn, psandoz
2018-01-18 02:25:18 +03:00
Vladimir Ivanov
1b558514ff 8188145: MethodHandle resolution should follow JVMS sequence of lookup by name & type before type descriptor resolution
Reviewed-by: kvn, psandoz
2018-01-12 01:52:06 +03:00
Jiangli Zhou
61e736cbae 8188791: Move AppCDS from closed repo to open repo
Co-authored-by: Mikhailo Seledtsov <mikhailo.seledtsov@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Reviewed-by: dsamersoff, simonis, minqi
2017-11-27 20:21:34 -08:00
Jiangli Zhou
7409630577 8187118: Remove appending -cp path to the boot class path at AppCDS dump time
8187119: Consolidate record_shared_class_loader_type() and record_result()

Remove -cp path from the boot append list at dump time and other AppCDS cleanups.

Reviewed-by: lfoltan, iklam
2017-11-19 23:30:41 -05:00
Gerard Ziemski
a043febf6f 8184765: Dynamically resize SystemDictionary
Implemented dynamic resizing, which triggers when load factor is too high

Reviewed-by: coleenp, rehn
2017-11-02 11:00:34 -05: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
Ioi Lam
a422994296 8190191: Subclasses of jdk.jfr.Event loaded from CDS breaks -XX:FlightRecorderOptions=retransform=false
Do not archive these classes

Reviewed-by: jiangli, sspitsyn
2017-10-29 18:13:18 -07:00
Ioi Lam
41796c1066 8185160: -XX:DumpLoadedClassList omits graal classes
Reviewed-by: jiangli, dholmes, lfoltan
2017-10-21 15:15:46 -07:00
Calvin Cheung
449114a4f6 8185694: Replace SystemDictionaryShared::_java_platform_loader with SystemDictionary::is_platform_class_loader()
Added the creation of _java_platform_loader

Reviewed-by: iklam, coleenp, mchung, dholmes, jiangli
2017-10-10 14:38:56 -07:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00