Commit graph

56 commits

Author SHA1 Message Date
Harold Seigel
e14b026841 8243287: Removal of Unsafe::defineAnonymousClass
Reviewed-by: iklam, mchung, alanb, dholmes
2021-05-13 12:46:54 +00:00
Vladimir Kozlov
694acedf18 8264805: Remove the experimental Ahead-of-Time Compiler
Reviewed-by: coleenp, erikj, stefank, iignatyev, dholmes, aph, shade, iklam, mchung, iveresov
2021-04-27 01:12:18 +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
Coleen Phillimore
885916eda0 8262280: Incorrect exception handling for VMThread in class redefinition
Reviewed-by: hseigel
2021-04-02 13:05:15 +00:00
Coleen Phillimore
4b19771401 8264150: CDS dumping code calls TRAPS functions in VM thread
Reviewed-by: dholmes, iklam
2021-04-01 15:09:12 +00:00
Coleen Phillimore
1dc75e9ef5 8264538: Rename SystemDictionary::parse_stream
Reviewed-by: lfoltan, hseigel
2021-04-01 14:55:11 +00:00
Coleen Phillimore
5d7e93c86d 8264004: Don't use TRAPS if no exceptions are thrown
Reviewed-by: dholmes, iklam, hseigel, dcubed
2021-03-24 12:15:51 +00:00
Ioi Lam
ffbcf1b0a7 8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass
Reviewed-by: lfoltan, hseigel, dholmes, stuefe
2021-02-02 23:40:29 +00:00
Leonid Mesnik
71ae05d51f 8258061: Improve diagnostic information about errors during class redefinition
Reviewed-by: coleenp, sspitsyn
2020-12-18 16:40:12 +00:00
Claes Redestad
f57405617e 8256424: Move ciSymbol::symbol_name() to ciSymbols::symbol_name()
Reviewed-by: kvn, iklam
2020-12-10 17:22:48 +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
Coleen Phillimore
7d4e86be3b 8138588: VerifyMergedCPBytecodes option cleanup needed
Reviewed-by: hseigel, dcubed, sspitsyn
2020-11-10 20:38:25 +00:00
Daniil Titov
f800af978c 8241390: 'Deadlock' with VM_RedefineClasses::lock_classes()
Reviewed-by: coleenp, sspitsyn
2020-09-21 19:32:24 +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
Coleen Phillimore
c63911b33b 8249822: SymbolPropertyTable creates an extra OopHandle per entry
Add an assert to OopHandle assigment operator to catch leaking OopHandles, and fix code accordingly.

Reviewed-by: sspitsyn, eosterlund, dholmes
2020-07-24 07:45:38 -04:00
Poonam Bajaj
ac4603144d 8243290: Improve diagnostic messages for class verification and redefinition failures
Reviewed-by: coleenp, hseigel, sspitsyn
2020-06-12 12:51:32 +00:00
Serguei Spitsyn
2ff9f53a44 8222005: ClassRedefinition crashes with: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Remove optimizations from class redefinition that cause the guarantee hit

Reviewed-by: coleenp, dcubed
2020-06-11 05:53:33 +00:00
Serguei Spitsyn
9a7f519aee 8245321: refactor the redefine check that an attribute consisting of a list of classes has not changed
Refactor the redefine check of an array attribute

Reviewed-by: hseigel, coleenp
2020-06-05 00:06:16 +00:00
Vicente Romero
d42bfef8a4 8227046: compiler implementation for sealed classes
8225056: VM support for sealed classes
8227044: javax.lang.model for sealed classes
8227045: Preview APIs support for sealed classes
8227047: Javadoc for sealed types
8245854: JVM TI Specification for sealed classes

Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, forax, darcy, dholmes, jlahoda, lfoltan, mchung, sspitsyn, vromero
2020-06-01 17:00:40 -04:00
Coleen Phillimore
90ada6a314 8238048: Close alignment gaps in InstanceKlass
Moved fields around and some constant fields into ConstantPool

Reviewed-by: cjplummer, dlong, iklam
2020-04-23 16:29:22 -04:00
Mandy Chung
7cc1371059 8238358: Implementation of JEP 371: Hidden Classes
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jamsheed Mohammed C M <jamsheed.c.m@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Amy Lu <amy.lu@oracle.com>
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, sspitsyn, vromero
2020-04-21 06:55:38 -07:00
Harold Seigel
a1e9328367 8235225: Replace CHECK_0 with CHECK_NULL for non-integer returning methods
Change CHECK_0 to CHECK_NULL and CHECK_false where appropriate

Reviewed-by: mikael, dholmes, coleenp
2020-02-27 13:00:05 +00:00
Erik Gahlin
5d9c59f2f8 8238236: Add JFR class redefinition events
Reviewed-by: mgronlun
2020-02-17 22:36:13 +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
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
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
638910826a 8229900: RedefineDeleteJmethod.java fails with -Xcheck:jni
Remove RedefineClasses adjustment and test, but improve checking for method/class matching.

Reviewed-by: dholmes, sspitsyn
2019-10-07 10:04:01 -04:00
Coleen Phillimore
6e1aa9065c 8226690: SIGSEGV in MetadataOnStackClosure::do_metadata
Dont create nmethod if classes have been redefined since compilation start.

Reviewed-by: sspitsyn, dlong, eosterlund, gdub
2019-09-26 09:22:49 -04:00
Harold Seigel
3d6ba9735f 8228596: Class redefinition fails when condy instructions are removed
Make sure has_dynamic_constant flag value gets copied to merged constant pool, when it is set to TRUE

Reviewed-by: coleenp, dcubed, sspitsyn
2019-07-29 09:57:37 -04:00
Coleen Phillimore
04b98fd1df 8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ
Remove SystemDictionary::modification_counter optimization

Reviewed-by: dlong, eosterlund
2019-07-10 07:58:24 -04:00
Stefan Karlsson
c90f3ee68b 8223624: Cleanup includes of universe.hpp
Reviewed-by: coleenp, lkorinth
2019-05-09 14:28:30 +02:00
Coleen Phillimore
ccb2e9d925 8222988: Use MonitorLocker rather than MutexLocker when wait/notify used
Fixed use cases in code except CMS.

Reviewed-by: rehn, dcubed
2019-04-29 16:01:52 -04:00
Coleen Phillimore
6ebf2ce655 8192936: RI does not follow the JVMTI RedefineClasses spec that is too strict in the definition
Introduce new flag fo compatibility: -XX:AllowRedefinitionToAddOrDeleteMethods

Reviewed-by: jcbeyler, sspitsyn
2019-04-19 21:49:54 -07:00
Coleen Phillimore
246544eeb7 8221183: Avoid code cache walk in MetadataOnStackMark
Note nmethods with "old" Methods in them in table to walk instead.

Reviewed-by: eosterlund, sspitsyn
2019-04-01 09:53:30 -04:00
Coleen Phillimore
2a83596e85 8181171: Deleting method for RedefineClasses breaks ResolvedMethodName
8210457: JVM crash in ResolvedMethodTable::add_method(Handle)

Add a function to call NSME in ResolvedMethodTable to replace deleted methods.

Reviewed-by: sspitsyn, dholmes, dcubed
2019-02-26 08:01:20 -05: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
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
Lois Foltan
29245f8878 8218004: Clean up terminology for shared methods within the JVM for indy and condy support
Remove "invoke_dynamic" from the name of several ConstantPool bootstrap helper methods that are shared by both indy and condy.

Reviewed-by: coleenp, dholmes, mchung
2019-02-13 14:20:40 -05:00
Coleen Phillimore
8f5e561d19 8139551: Scalability problem with redefinition - multiple code cache walks
Walk code cache and deoptimize once per redefinition.

Reviewed-by: sspitsyn, dlong
2019-02-05 10:40:25 -05:00
Claes Redestad
bf63ee682e 8216157: Enable inlining of java_lang_Class::is_primitive
Reviewed-by: coleenp, eosterlund, jiangli
2019-01-04 16:23:56 +01:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Harold Seigel
18bbeb53e6 8210470: Remove unused Verifier::verify() Verifier::Mode argument
Remove the unused argument.

Reviewed-by: coleenp, jiangli
2018-09-11 09:53:41 -04:00
David Holmes
b66c67675d 8210486: Unused code in check_nest_attributes function
Reviewed-by: mikael, sspitsyn
2018-09-07 08:14:47 -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
a7b66f6f5e 8208677: Move inner metaspace cleaning out of class unloading
Move to safepoint cleanup actions to do if needed.

Reviewed-by: eosterlund, hseigel
2018-08-08 15:24:21 -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
Lois Foltan
e8fcd927c3 8178712: ResourceMark may be missing inside initialize_[vi]table
Clean up use of ResourceMark within initialize_[vi]table.

Reviewed-by: ccheung, iklam, jiangli
2018-07-16 09:06:33 -04: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
Stefan Karlsson
1a1aecd166 8200106: Move NoSafepointVerifier out from gcLocker.hpp
Reviewed-by: coleenp
2018-03-23 18:54:12 +01:00
Coleen Phillimore
221d0f4c54 8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files
Remove frame.inline.hpp,etc from header files and adjust transitive includes.

Reviewed-by: stefank, stuefe
2018-03-21 19:45:24 -04:00