Commit graph

74 commits

Author SHA1 Message Date
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
Erik Österlund
6508c5a38d 8243996: Remove hardcoded field offsets from HotSpot
Reviewed-by: jrose, coleenp, dholmes, fparain
2020-05-20 09:31:38 +00: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
Calvin Cheung
512644de06 8240205: Avoid PackageEntry lookup when loading shared classes
Do the PackageEntry lookup at one place and then pass it along to the subsequently called functions which need it.

Reviewed-by: redestad, lfoltan
2020-04-03 14:26:42 -07:00
Claes Redestad
23d6a788b4 8241371: Refactor and consolidate package_from_name
Reviewed-by: iklam, lfoltan
2020-03-23 23:18:42 +01: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
Frederic Parain
9886cb401c 8237767: Field layout computation overhaul
Reviewed-by: dholmes, coleenp, lfoltan, shade
2020-02-10 09:49:12 -05:00
Lois Foltan
d19a396e96 8230199: consolidate signature parsing code in HotSpot sources
Add a new Signature class to support basic signature queries and enhance SignatureStream class to parse field signatures in addition to methods.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain, hseigel
2020-02-06 14:29:57 +00:00
Coleen Phillimore
c4b8e38de4 8236224: Obsolete the FieldsAllocationStyle and CompactFields options
Remove the options and code for options deprecated in JDK 14

Reviewed-by: dholmes, hseigel, fparain
2020-01-07 13:11:35 -05:00
Joe Darcy
890826bf5b 8225361: Start of release updates for JDK 15
8235497: Add SourceVersion.RELEASE_15
8235528: Add source 15 and target 15 to javac

Reviewed-by: erikj, jjg, jlahoda, dholmes, alanb, hseigel, mikael, chegar
2019-12-10 16:38:53 -08:00
Harold Seigel
02039fd33a 8235513: Change JVM to check for preview features using JVM_CLASSFILE_MAJOR_VERSION
Check for JVM_CLASSFILE_MAJOR_VERSION instead of a hard-wired version number

Reviewed-by: dholmes, coleenp
2019-12-10 15:00:01 +00: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
Harold Seigel
eedc99c9ab 8232890: Remove bad Code attribute parsing code
Remove code that accepts illegal max_stack, max_locals, and length values for Code attribute in old class files.

Reviewed-by: dholmes, lfoltan
2019-10-28 12:55:48 +00: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
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
Evgeny Mandrikov
14cc870429 8066774: Rename the annotations arrays names in ClassFileParser
Reviewed-by: shade, coleenp, dholmes
2019-09-18 21:20:13 +02:00
Jesper Wilhelmsson
333c0c2453 Merge 2019-06-20 02:10:53 +02:00
Harold Seigel
b304a57980 8225789: Empty method parameter type should generate ClassFormatError
Check for an empty name when verifying unqualified names

Reviewed-by: lfoltan, coleenp
2019-06-19 08:42:15 -04:00
Joe Darcy
4750064828 8214546: Start of release updates for JDK 14
8214547: Add SourceVersion.RELEASE_14
8214548: Add source 14 and target 14 to javac
8214549: Bump maximum recognized class file version to 58 for JDK 14

Reviewed-by: jjg, mikael, erikj, jlahoda, dholmes
2019-06-11 16:45:20 -07:00
Harold Seigel
9ee5ab5124 8224952: RI deviates from JVMS - non-zero minor_version for class files throws UnsupportedClassVersionError
Change the JVM to follow the JVM Spec and accept non-zero minor_version for appropriate older class file versions.

Reviewed-by: acorn, dholmes, iignatyev
2019-06-10 09:52:04 -04: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
Lois Foltan
4f2478e234 8222502: Replace 19,20 case alternatives with JVM_CONSTANT_Module/Package names
Add JVM_CONSTANT_Module and JVM_CONSTANT_Package to classfile_constants.h

Reviewed-by: coleenp, hseigel
2019-04-23 07:05:38 -04:00
Henry Jen
da6f620059 Merge 2019-04-15 18:24:37 -07: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
Thomas Stuefe
02ed0e3e52 8221408: Windows 32bit build build errors/warnings in hotspot
Reviewed-by: kbarrett, dholmes
2019-03-29 08:36:33 +01:00
Henry Jen
52da980fa2 Merge 2019-03-26 10:55:17 -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
Henry Jen
833627bc3c Merge 2019-01-22 14:14:52 -08:00
Claes Redestad
d2c205bb59 8219860: Cleanup ClassFileParser::parse_linenumber_table
Reviewed-by: rehn, lfoltan, hseigel
2019-03-08 23:02:06 +01:00
Aleksey Shipilev
3d6795e0e3 8219583: Windows build failure after JDK-8214777 (Avoid some GCC 8.X strncpy() errors in HotSpot)
Reviewed-by: kbarrett, mikael
2019-02-23 10:55:45 +01:00
Mikael Vidstedt
15d554b395 8214777: Avoid some GCC 8.X strncpy() errors in HotSpot
Reviewed-by: kbarrett, rehn
2019-02-21 16:56:06 -08:00
David Holmes
34fe424afb 8218939: vm/mlvm/anonloader/stress/byteMutation crashed on windows
Reviewed-by: kbarrett, coleenp, mikael, iignatyev
2019-02-14 22:57:37 -05: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
24b8feeb30 8218755: Refix Symbol leak in prepend_host_package_name
Fix Symbol refcounting again, add comment and a test.

Reviewed-by: kbarrett, dholmes
2019-02-13 07:22:09 -05:00
Claes Redestad
93bdf79f1b 8218675: Reduce verification overhead in ClassFileParser
Reviewed-by: dholmes, hseigel
2019-02-12 14:23:49 +01:00
Coleen Phillimore
e174cd6271 8218593: Symbol leak in prepend_host_package_name
Add appropriate refcounting for Symbols stomped by parsing

Reviewed-by: hseigel, zgu
2019-02-08 09:33:59 -05:00
Vladimir Ivanov
6a61345684 8213234: Move LambdaForm.Hidden to jdk.internal.vm.annotation
Reviewed-by: mchung, dlong
2019-01-22 18:13:49 -08:00
Jesper Wilhelmsson
a8c5f1e59a Merge 2019-01-15 22:54:09 +01:00
Calvin Cheung
b999cc8f33 8214809: CDS storage improvements
Reviewed-by: acorn, iklam, ahgross, rhalade
2018-12-12 11:57:22 -08:00
Henry Jen
d77f96b0b2 Merge 2018-12-13 11:47:35 -08:00
Harold Seigel
b564c0c1a9 8215165: Improve -Xlog:class+preview message text
Fix up the logging message.

Reviewed-by: acorn, lfoltan
2018-12-11 10:29:08 -05:00
Joe Darcy
b5f0eec3d8 8205626: Start of release updates for JDK 13
8205393: Add SourceVersion.RELEASE_13
8205394: Add source 13 and target 13 to javac
8205645: Bump maximum recognized class file version to 57 for JDK 13
8214825: Update preview language features for start of JDK 13

Reviewed-by: erikj, alanb, mchung, mcimadamore, dholmes, smarks, jjg
2018-12-13 19:06:11 +01:00
Dean Long
787f8b320e 8213259: [AOT] AOTing java.base fails with "java.lang.AssertionError: no fingerprint for Ljdk/internal/event/Event"
Reviewed-by: iklam, kvn
2018-11-26 22:49:57 -08:00
Coleen Phillimore
e66dfd30c4 8210094: Better loading of classloader classes
Reviewed-by: acorn, hseigel, ahgross, rhalade
2018-09-10 16:49:01 -04:00
Dean Long
a9ae141836 8212605: Pure-Java implementation of AccessController.doPrivileged
Reviewed-by: dholmes, mullan, vlivanov, mchung, alanb, rriggs
2018-11-06 16:04:50 -08:00
Harold Seigel
221005a3d4 8209138: Symbol constructor uses u1 as the element type of its name argument
Maske u1 the type for Symbol values and add a function to return it as a char.

Reviewed-by: dholmes, coleenp
2018-10-03 09:46:46 -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
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
Phil Race
32ec91ca9b Merge 2018-08-03 09:42:57 -07:00