53 Commits

Author SHA1 Message Date
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
Vladimir Ivanov
a6daef527e 8234923: Missed call_site_target nmethod dependency for non-fully initialized ConstantCallSite instance
Reviewed-by: jrose
2019-12-03 20:13:21 +03: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
David Holmes
1d50b2761c 8229516: Thread.isInterrupted() always returns false after thread termination
Reviewed-by: dnsimon, sspitsyn, dcubed, alanb
2019-11-03 18:02:29 -05:00
Claes Redestad
574263a884 8232613: Move Object.registerNatives into HotSpot
Reviewed-by: dholmes, adinn, coleenp, lfoltan, mchung
2019-10-24 09:57:29 +02: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
Goetz Lindenmaier
d8c6516c92 8218628: Add detailed message to NullPointerException describing what is null
This is the implementation of JEP 358: Helpful NullPointerExceptions.

Reviewed-by: coleenp, clanger, rschmelter, rriggs, forax, mr
2019-10-14 11:36:17 +02:00
Claes Redestad
b9204e62a4 8231895: Avoid String allocations in JVM_FindLoadedClass
Reviewed-by: jiangli, dholmes, iklam
2019-10-07 12:06:47 +02:00
Igor Veresov
e47daab7b4 8223320: [AOT] jck test api/javax_script/ScriptEngine/PutGet.html fails when test classes are AOTed
Materialization of primitive boxes should use caches

Reviewed-by: kvn, never
2019-06-03 13:21:02 -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
Vladimir Kozlov
e9c523ae5f 8220623: [JVMCI] Update JVMCI to support JVMCI based Compiler compiled into shared library
Reviewed-by: dnsimon, never, stefank, rehn, neliasso, dholmes, kbarrett, coleenp
2019-05-01 12:31:29 -07:00
David Holmes
ded4f6b5cf 8222518: Remove unnecessary caching of Parker object in java.lang.Thread
Reviewed-by: dcubed, rehn
2019-04-26 00:57:03 -04:00
Stefan Karlsson
23f02171c8 8221393: ResolvedMethodTable too small for StackWalking applications
Reviewed-by: coleenp, rehn
2019-04-10 15:41:04 +02:00
Claes Redestad
89a267ca46 8221836: Avoid recalculating String.hash when zero
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: jrose, adinn
2019-04-10 12:05:50 +02:00
Andrew Dinn
71164a973b 8221477: Inject os/cpu-specific constants into Unsafe from JVM
Initialize Unsafe os/cpu-specific constants using injection instead of native callouts

Reviewed-by: stuefe, coleenp, dholmes, plevart
2019-04-05 10:01:09 +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
Claes Redestad
1bfa5cee8c 8220496: Race in java_lang_String::length() when deduplicating
Reviewed-by: rkennke, pliden
2019-03-13 17:32:17 +01:00
Claes Redestad
911c7ff446 8217442: Optimize native accesses to String.value
Reviewed-by: shade, dholmes
2019-01-22 11:22:44 +01:00
Aleksey Shipilev
88366150c6 8216308: StackTraceElement::fill_in can use injected Class source-file
Reviewed-by: coleenp, dholmes
2019-01-14 17:20:20 +01:00
Coleen Phillimore
154a1a02bf 8216167: Update include guards to reflect correct directories
Use script and some manual fixup to fix directores names in include guards.

Reviewed-by: lfoltan, eosterlund, kbarrett
2019-01-10 15:13:51 -05:00
Aleksey Shipilev
f44e59355c 8216302: StackTraceElement::fill_in can use cached Class.name
Reviewed-by: coleenp, dholmes, mchung
2019-01-09 20:28:16 +01:00
Erik Österlund
3a5bccf5c6 8213565: Crash in DependencyContext::remove_dependent_nmethod
Reviewed-by: rehn, kvn
2018-11-30 11:40:48 +01: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
Erik Österlund
3798a62adb 8212996: Use AS_NO_KEEPALIVE when accessing dead java.lang.invoke.CallSites during nmethod unloading
Reviewed-by: coleenp, pliden
2018-11-05 12:36:23 +01:00
Per Lidén
54d4acf73f 8212184: Incorrect oop ref strength used for referents in FinalReference
Reviewed-by: eosterlund, kbarrett
2018-11-02 07:58:22 +01:00
Ioi Lam
6c59cb232f 8210875: Refactor CompactHashtable
Reviewed-by: ccheung, jiangli
2018-09-18 21:47:14 -07:00
Coleen Phillimore
fce43c0c36 8198717: Remove compute_optional_offset
Remove optional_offset computation and related unused code from javaClasses for reflection.

Reviewed-by: redestad, lfoltan
2018-09-19 15:25:05 -04:00
Coleen Phillimore
bbf5c1ca8d 8210422: runtime/modules/ModuleStress/ExportModuleStressTest.java - assertion failed: address not aligned: 0x00000008baadbabe
CLDG_lock caused safepoint in inconsistent state

Reviewed-by: lfoltan, eosterlund, kbarrett
2018-09-11 09:42:27 -04:00
Roman Kennke
9ec15cedd0 8206457: Code paths from oop_iterate() must use barrier-free access
Reviewed-by: eosterlund, shade
2018-07-06 16:04:19 +02:00
Ioi Lam
2e941724e4 8209545: Simplify HeapShared::archive_module_graph_objects
Added archivable_static_fields array in heapShared.cpp

Reviewed-by: jiangli
2018-08-15 11:19:57 -07:00
Ioi Lam
e12ee81ff0 8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes
Added BASIC_JAVA_CLASSES_DO in javaClasses.hpp

Reviewed-by: jiangli, redestad, coleenp
2018-08-14 20:46:46 -07:00
Claes Redestad
5c3008fbc4 8209120: Archive the Integer.IntegerCache
Reviewed-by: jiangli, alanb, plevart, iklam, mchung
2018-08-13 19:21:43 +02:00
Jiangli Zhou
a5d14313f5 8207263: Store the Configuration for system modules into CDS archive
Archive boot layer Configuration.

Reviewed-by: redestad, iklam, ccheung
2018-08-10 00:35:57 -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
Jiangli Zhou
9ba5bab865 8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module
Support system module archiving with unnamed initial module at dump time.

Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Reviewed-by: erikj, coleenp, mchung, iklam, ccheung
2018-07-08 12:43:05 -04:00
Erik Österlund
e4dbe9909f 8205683: Refactor heap allocation to separate concerns
Reviewed-by: pliden, kbarrett
2018-06-28 14:22:28 +02:00
Jiangli Zhou
884f9db3c6 8205699: assert(_owner_offset != 0) failed in javaClasses.cpp
Added java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize.

Reviewed-by: ccheung, dholmes
2018-06-27 11:55:35 -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
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
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
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
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
Kim Barrett
1ac19a3166 8192025: Less referential references
Reviewed-by: coleenp, eosterlund, mchung, ahgross, rhalade
2018-01-18 22:17:11 -05: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
Jiangli Zhou
f987dec395 8194759: Support caching class mirror objects
Support archiving mirror objects for shared classes in 'open' archive java heap region.

Reviewed-by: coleenp, iklam, mseledtsov, tschatzl
2018-03-02 17:25:55 -05:00
Erik Österlund
432a71e564 8198286: Direct memory accessors in typeArrayOop.hpp should use Access API
Reviewed-by: pliden, rkennke
2018-02-22 10:39:42 +01:00
Coleen Phillimore
61592ca6fa Merge 2018-01-08 12:02:48 -05:00
Erik Österlund
c54ef2b296 8192003: Refactor weak references in StringTable to use the Access API
Reviewed-by: pliden, dholmes, coleenp
2018-01-08 16:21:23 +01:00
Coleen Phillimore
ebd77628a4 8058259: compute_offset() is confusing for static fields
Remove most hard-coded offsets, have compute_offset function that takes a string and creates a TempNewSymbol, have static_field_addr() not add in InstanceMirrorKlass::offset_of_static_fields, ie use offset from find_field

Reviewed-by: kbarrett, sspitsyn
2018-01-08 09:46:31 -05:00