93 Commits

Author SHA1 Message Date
Claes Redestad
3cccc62e56 8234735: InstanceKlass:find_method_index regression after JDK-8231610
Reviewed-by: iklam, coleenp
2019-12-09 16:46:29 +01:00
Vicente Romero
827e5e3226 8225054: Compiler implementation for records
8225052: javax.lang.model support for records
8225053: Preview APIs support for records
8225055: Javadoc for records
8226314: com.sun.source support for records
8227113: Specification for java.lang.Record
8233526: JVM support for records

Implement records in the compiler and the JVM, including serialization, reflection and APIs support

Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, briangoetz, alanb, darcy, chegar, jrose, jlahoda, coleenp, dholmes, lfoltan, mchung, sadayapalam, hannesw, sspitsyn
2019-12-04 15:57:39 -05:00
Coleen Phillimore
b1d915ef80 8173361: various crashes in JvmtiExport::post_compiled_method_load
Don't post information that uses metadata from unloaded nmethods

Reviewed-by: eosterlund, dholmes, sspitsyn
2019-12-02 08:40:52 -05:00
Stefan Karlsson
0ad50c2b5c 8234740: Harmonize parameter order in Atomic - cmpxchg
Reviewed-by: rehn, dholmes
2019-11-25 12:33:15 +01:00
Stefan Karlsson
e527ce4b57 8234562: Move OrderAccess::release_store*/load_acquire to Atomic
Reviewed-by: rehn, dholmes
2019-11-25 12:22:13 +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
Coleen Phillimore
ed21b56269 8233913: Remove implicit conversion from Method* to methodHandle
Fix call sites to use existing THREAD local or pass down THREAD local for shallower callsites. Make linkResolver methods return Method* for caller to handleize if needed.

Reviewed-by: iklam, thartmann, hseigel
2019-11-13 08:23:23 -05:00
Calvin Cheung
9c7e4bcf59 8233363: Clarify the DumpSharedSpaces condition in InstanceKlass::verify_on
Change DumpSharedSpaces to Arguments::is_dumping_archive().

Reviewed-by: iklam, coleenp
2019-11-01 11:31:37 -07:00
Coleen Phillimore
9308d18580 8232788: Move biased locking initalization
Reviewed-by: pchilanomate, dholmes
2019-10-24 08:52:33 -04:00
Lois Foltan
fce4320369 8231844: Enhance type signature characters in classfile_constants.h and improve the JVM to use type signature characters more consistently
Increase the use of type signature constants instead of hard coded characters within the JVM.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain
2019-10-21 13:13:16 -04:00
Coleen Phillimore
86fdbc0f85 8232112: MDO extra_data_lock leaks during class unloading
Call the MDO destructor during class unloading.

Reviewed-by: dholmes, eosterlund
2019-10-17 07:35:22 -04: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
Coleen Phillimore
98f454c9ca 8184732: Deadlock detection improvements for 'special' locks
Assert that special ranked locks cannot safepoint and allow_vm_block and remove locks from the exceptional lock list in no_safepoint_verifier.

Reviewed-by: dholmes, eosterlund
2019-09-30 13:10:11 -04:00
Robbin Ehn
35a9f6864a 8226705: [REDO] Deoptimize with handshakes
Reviewed-by: eosterlund, dcubed, dlong, pchilanomate
2019-09-19 10:52:22 +02:00
Per Lidén
2d6874b861 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, tschatzl
2019-09-17 09:51:02 +02:00
Leo Korinth
4b6f9ed07f 8230398: Remove NULL checks before FREE_C_HEAP_ARRAY
Reviewed-by: dholmes, kbarrett, tschatzl
2019-09-11 14:16:30 +02:00
Daniel D. Daugherty
9b992ead1e 8230184: rename, whitespace, indent and comments changes in preparation for lock free Monitor lists
Reviewed-by: kbarrett, dholmes
2019-08-28 10:56:50 -04:00
Vladimir Ivanov
829c81bbf9 8225141: Better handling of classes in error state in fast class initialization checks
Reviewed-by: dlong, dholmes
2019-06-06 13:46:03 +03: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
Coleen Phillimore
204059634d 8223657: Remove unused THREAD argument from SymbolTable functions
Also made lookup and lookup_only functions private to SymbolTable.  External callers use new_symbol or probe.

Reviewed-by: dholmes, gziemski
2019-05-14 11:29:18 -04:00
Stefan Karlsson
c90f3ee68b 8223624: Cleanup includes of universe.hpp
Reviewed-by: coleenp, lkorinth
2019-05-09 14:28:30 +02:00
Xin Liu
63dbcdc874 8222670: pathological case of JIT recompilation and code cache bloat
Prevent downgraded compilation tasks from recompiling.

Reviewed-by: sgehwolf, thartmann
2019-05-07 09:17:03 +02:00
Coleen Phillimore
fbafef11c0 8222811: Consolidate MutexLockerEx and MutexLocker
Make MutexLocker be MutexLockerEx implementation, remove MutexLockerEx calls.

Reviewed-by: dcubed, dholmes, pliden, rehn
2019-04-25 10:56:31 -04:00
Thomas Stuefe
1baf5289c5 8221539: [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends
Reviewed-by: adinn, coleenp, mdoerr
2019-03-27 14:13:34 +01:00
Ioi Lam
22484b8c35 8221698: Remove redundant includes from popular header files
Removed histogram.hpp classLoader.hpp utf8.hpp moduleEntry.hpp packageEntry.hpp

Reviewed-by: coleenp, stuefe
2019-03-30 08:26:20 -07:00
Jiangli Zhou
223e1c6e42 8220095: Assertion failure when symlink (with different name) is used for lib/modules file
Removed confusing function ClassLoader::is_modules_image(char*)

Reviewed-by: lfoltan, ccheung
2019-03-23 21:51:07 -07:00
Coleen Phillimore
351280bbb8 8078725: method adjustments can be done just once for all classes involved into redefinition
Walk all classes at the end of redefinition and adjust method entries and clean MethodData

Reviewed-by: sspitsyn
2019-02-22 13:56:08 -05: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
David Holmes
e2054e3c5d 8217765: Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed
Reviewed-by: rehn, redestad, coleenp
2019-02-20 19:41:43 -05:00
Claes Redestad
dbdfbb518f 8219229: Make ConstantPool::tag_at and release_tag_at_put inlineable
Reviewed-by: dholmes, coleenp
2019-02-20 09:53:28 +01:00
Coleen Phillimore
2e4ac80e0c 8212988: add recent class unloading events to the hs_err log
Also moved class unloading logging in expected place.

Reviewed-by: never, stuefe
2019-02-13 06:48:34 -05:00
Claes Redestad
62378f6977 8217318: Unneeded handleization in InstanceKlass::restore_unshareable_info
No need for a methodHandle here since methods not yet added to SystemDictionary can't be redefined.

Reviewed-by: coleenp
2019-01-18 16:21:07 +01:00
David Holmes
d1c7bfeb4b 8213397: Stack dump should show more clearly when a thread is blocked on a class initialization monitor
Reviewed-by: rehn, coleenp
2019-01-15 16:40:31 -05:00
Jesper Wilhelmsson
528bc73ca4 Merge 2019-01-14 23:05:26 +01:00
Erik Österlund
f08eeac278 8215889: assert(!_unloading) failed: This oop is not available to unloading class loader data with ZGC
Reviewed-by: coleenp, neliasso
2019-01-10 18:10:15 +01:00
Coleen Phillimore
cab9667f41 8215575: C2 crash: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
Set InstanceKlass::loaded before adding classes to the subklass list, which can be read concurrently by the compiler.

Reviewed-by: dholmes, eosterlund
2019-01-09 07:52:45 -05:00
Jesper Wilhelmsson
67a5fc2529 Merge 2019-01-09 22:59:49 +01:00
Claes Redestad
13fcbf9d8f 8216189: Remove Klass::compute_is_subtype_of
Reviewed-by: hseigel, jiangli
2019-01-05 20:08:24 +01:00
Erik Österlund
50ffeaa507 8213209: [REDO] Allow Klass::_subklass and _next_sibling to have unloaded classes
Reviewed-by: coleenp, dlong
2018-11-30 15:29:19 +01:00
Erik Österlund
3a5bccf5c6 8213565: Crash in DependencyContext::remove_dependent_nmethod
Reviewed-by: rehn, kvn
2018-11-30 11:40:48 +01:00
David Holmes
cb861252d7 8214208: Nestmate package validation logging/exception should include classloader information
Reviewed-by: hseigel, coleenp, mchung
2018-11-27 21:20:16 -05:00
Erik Österlund
8b1844626a 8212682: Avoid holding Compile_lock when blocking for GC in ObjArrayKlass::allocate_objArray_klass()
Reviewed-by: coleenp, dlong
2018-11-20 10:08:18 +01:00
Ioi Lam
147fc3ed13 8213346: Re-implement shared dictionary using CompactHashtable
Reviewed-by: jiangli
2018-11-07 19:40:27 -08:00
Coleen Phillimore
d302072f50 8213211: [BACKOUT] Allow Klass::_subklass and _next_sibling to have unloaded classes
Reviewed-by: jiangli, jwilhelm
2018-10-31 14:38:14 -04:00
Coleen Phillimore
6a045adbed 8212958: Allow Klass::_subklass and _next_sibling to have unloaded classes
Don't return unloaded klasses. Make sure access is protected by Compile_lock.

Reviewed-by: eosterlund, dlong
2018-10-29 10:21:34 -04:00
David Holmes
c145bd0bd0 8199567: [Nestmates] Cleanup instanceKlass.cpp
Reviewed-by: lfoltan, coleenp
2018-10-23 17:01:48 -04:00
Harold Seigel
945623c998 8079784: Unexpected IllegalAccessError when trying access InnerClasses attribute
Prevent classes in the InnerClasses attribute from being loaded unless they are actually being accessed.

Reviewed-by: dholmes, lfoltan
2018-10-11 10:11:18 -04:00
Doug Simon
548eb6860a 8208686: [AOT] JVMTI ResourceExhausted event repeated for same allocation
Reviewed-by: never, kvn, sspitsyn
2018-10-05 20:03:14 +02:00
Jiangli Zhou
061c4d7a81 8210926: vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/TestDescription.java failed with JVMTI_ERROR_INVALID_CLASS in CDS mode
Reset InstanceKlass _init_state to 'allocated' before writing out shared classes at dump time.

Reviewed-by: dholmes, coleenp
2018-10-01 00:52:37 -04:00
Coleen Phillimore
06a1ea846a 8210856: Move InstanceKlass DependencyContext cleaning to SystemDictionary::do_unloading()
Already walk classes in ClassLoaderData::unload so generalize to also clean nmethod dependencies.

Reviewed-by: eosterlund, dlong, vlivanov
2018-09-26 14:01:48 -04:00