137 Commits

Author SHA1 Message Date
Richard Reingruber
40f847e2fb 8227745: Enable Escape Analysis for Better Performance in the Presence of JVMTI Agents
8233915: JVMTI FollowReferences: Java Heap Leak not found because of C2 Scalar Replacement

Reviewed-by: mdoerr, goetz, sspitsyn, kvn
2020-10-20 15:31:55 +00:00
Aleksey Shipilev
7f73474f74 8254773: Remove unimplemented ciReplay::is_loaded(Klass* klass)
Reviewed-by: thartmann, kvn
2020-10-15 06:32:16 +00:00
Aleksey Shipilev
167c192456 8254771: Remove unimplemented ciSignature::get_all_klasses
Reviewed-by: thartmann, kvn
2020-10-15 06:31:19 +00:00
Aleksey Shipilev
81a8ff1d92 8254769: Remove unimplemented BCEscapeAnalyzer::{add_dependence, propagate_dependencies}
Reviewed-by: thartmann, kvn
2020-10-15 06:30:19 +00:00
Ioi Lam
7e5eb493e1 8253402: Convert vmSymbols::SID to enum class
Reviewed-by: kvn, coleenp, kbarrett, iveresov
2020-10-15 05:52:54 +00:00
Paul Sandoz
0c99b19258 8223347: Integration of Vector API (Incubator)
Co-authored-by: Vivek Deshpande <vdeshpande@openjdk.org>
Co-authored-by: Qi Feng <qfeng@openjdk.org>
Co-authored-by: Ian Graves <igraves@openjdk.org>
Co-authored-by: Jean-Philippe Halimi <jphalimi@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Co-authored-by: Razvan Lupusoru <rlupusoru@openjdk.org>
Co-authored-by: Smita Kamath <svkamath@openjdk.org>
Co-authored-by: Rahul Kandu <rkandu@openjdk.org>
Co-authored-by: Kishor Kharbas <kkharbas@openjdk.org>
Co-authored-by: Eric Liu <Eric.Liu2@arm.com>
Co-authored-by: Aaloan Miftah <someusername3@gmail.com>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Shravya Rukmannagari <srukmannagar@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Lauren Walkowski <lauren.walkowski@arm.com>
Co-authored-by: Yang Zang <Yang.Zhang@arm.com>
Co-authored-by: Joshua Zhu <jzhu@openjdk.org>
Co-authored-by: Wang Zhuo <wzhuo@openjdk.org>
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: erikj, chegar, kvn, darcy, forax, briangoetz, aph, epavlova, coleenp
2020-10-14 20:02:46 +00:00
Ioi Lam
a098037375 8254365: ciMethod.hpp should not include methodHandles.hpp
Reviewed-by: dholmes, coleenp
2020-10-14 04:59:52 +00:00
Igor Veresov
4e5ef30303 8254104: MethodCounters must exist before nmethod is installed
Reviewed-by: dnsimon, kvn
2020-10-08 06:53:24 +00:00
Ioi Lam
0a1dc50f54 8253271: vm_version_x86.hpp should not include globals_extension.hpp
Reviewed-by: dholmes
2020-09-17 21:32:22 +00:00
Roberto Castaneda Lozano
efe3540d8f 8252966: CI: Remove KILL_COMPILE_ON_FATAL_ and KILL_COMPILE_ON_ANY macros
Remove the KILL_COMPILE_ON_FATAL_ and KILL_COMPILE_ON_ANY macros, replacing uses
of KILL_COMPILE_ON_FATAL_ with CHECK_AND_CLEAR_. Unlike KILL_COMPILE_ON_FATAL_,
CHECK_AND_CLEAR_ ignores ThreadDeath exceptions, which compiler threads should
not receive anyway.

Reviewed-by: vlivanov, neliasso
2020-09-16 06:47:45 +00:00
David Holmes
976acddeb5 8252406: Introduce Thread::as_Java_thread() convenience function
Reviewed-by: shade, coleenp, kbarrett, dcubed
2020-09-11 01:31:32 +00:00
Mandy Chung
4e6a4af186 8244090: public lookup should find public members of public exported types
Reviewed-by: lfoltan, psandoz
2020-09-03 12:43:13 -07: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
Lois Foltan
deaadfad52 8247938: Change various JVM enums like LinkInfo::AccessCheck and Klass::DefaultsLookupMode to enum class
Use C++11 scoped enumeration declarations for several different Klass and LinkInfo enumerations.

Reviewed-by: coleenp, hseigel, kbarrett
2020-08-06 18:13:56 +00:00
Coleen Phillimore
9798a0846b 8249837: Avoid direct or implicit Thread::current() calls when we already have a current thread variable
Add current thread OR remove unneeded HandleMark

Reviewed-by: kvn, dholmes
2020-07-30 10:41:31 -04:00
Coleen Phillimore
42ac8e1856 8250042: Clean up methodOop and method_oop names from the code
Reviewed-by: dholmes, sspitsyn, cjplummer, chagedorn
2020-07-28 07:33:51 -04:00
Ioi Lam
3d1b1a6bc9 8248170: Excessive include of compiledMethod, codeCache, javaClasses and systemDictionary
Reviewed-by: dholmes, kvn, coleenp, stefank
2020-07-06 23:11:37 -07:00
Jesper Wilhelmsson
4862d0d542 Merge 2020-06-22 18:23:49 +02:00
Mandy Chung
f2b191a6e9 8247444: Trust final fields in records
Co-authored-by: Christoph Dreis <christoph.dreis@freenet.de>
Reviewed-by: jrose, dholmes, forax, coleenp, vlivanov
2020-06-19 08:27:59 -07:00
Stefan Karlsson
77bdc30650 8247470: Fix CHeap GrowableArray NMT accounting
Reviewed-by: coleenp, tschatzl, kbarrett
2020-06-16 09:37:53 +02:00
Serguei Spitsyn
6d8c81f694 8245126: Kitchensink fails with: assert(!method->is_old()) failed: Should not be installing old methods
Fix the method->is_old() assert

Reviewed-by: dlong, chagedorn
2020-06-11 06:04:05 +00:00
Coleen Phillimore
5314d28f84 8245289: Clean up offset code in JavaClasses
Make offset member names consistent and private, move static initializations near owning classes

Reviewed-by: fparain, lfoltan
2020-05-29 15:00:19 -04:00
Ioi Lam
92d1c4a61a 8244775: Remove unnecessary dependency to jfrEvents.hpp
Reviewed-by: kbarrett, kvn
2020-05-13 10:56:51 -07: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
Kim Barrett
474ce89ebc 8242631: Missing but used special functions for some classes
Adjust some special function definitions to avoid deprecation warnings.

Reviewed-by: dholmes
2020-04-15 22:47:58 -04:00
Jamsheed Mohammed C M
211e529373 8193210: [JVMCI/Graal] add JFR compiler phase/inlining events
C++ EventCompilerPhase/EventCompilerInlining definitions are extended for JVMCI use.

Reviewed-by: dnsimon, egahlin, kvn, mgronlun, thartmann
2020-03-27 09:47:13 -07:00
Stefan Karlsson
e4b27a48a0 8183574: Unify the is_power_of_2 functions
Reviewed-by: kbarrett, redestad
2020-02-17 10:03:17 +01: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
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27:07 +01:00
Harold Seigel
7fc58a1020 8235678: Remove unnecessary calls to Thread::current() in MutexLocker calls
Add THREAD argument when available and make Thread* the first argument to relevant MutexLocker and MonitorLocker constructors

Reviewed-by: lfoltan, coleenp, dholmes
2020-01-16 13:48:23 +00:00
Christian Hagedorn
49048adcf2 8231501: VM crash in MethodData::clean_extra_data(CleanExtraDataClosure*): fatal error: unexpected tag 99
Snapshot MDO extra trap and argument data only after it is prepared.

Reviewed-by: roland, thartmann
2019-12-16 09:19:52 +01:00
Jorn Vernee
8f4f088a12 8234049: Implementation of Memory Access API (Incubator)
Co-authored-by: Vlaidmir Ivanov <vladimir.x.ivanov@oracle.com>
Reviewed-by: alanb, psandoz, chegar, rriggs, plevart, briangoetz, jrose, adinn, vlivanov
2019-12-12 22:59:57 +00: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
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
Claes Redestad
12adeca887 8233708: VectorSet cleanup
Reviewed-by: neliasso, shade, thartmann
2019-11-07 12:12:39 +01:00
Christian Hagedorn
6df28153fd 8230019: [REDO] compiler/types/correctness/* tests fail with "assert(recv == __null || recv->is_klass()) failed: wrong type"
Explicitly set the receiver klass in the ci MDO to NULL if it is NULL in the MDO while translating.

Reviewed-by: kvn, thartmann
2019-10-29 14:29:40 +01: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
Claes Redestad
35fb2da425 8232165: Reduce allocations in ValueStack copying constructor
Reviewed-by: neliasso, kvn
2019-10-14 20:58:08 +02:00
Richard Reingruber
a683592254 8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken
Reviewed-by: sspitsyn, dholmes, kvn
2019-10-08 15:30:39 +02: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
Lois Foltan
0c507f3180 8230505: Replace JVM type comparisons to T_OBJECT and T_ARRAY with call to is_reference_type
Consistently use is_reference_type when comparing type for T_OBJECT or T_ARRAY.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: dlong, coleenp, hseigel
2019-09-23 14:49:04 -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
Erik Österlund
f869706f5f 8224815: Remove non-GC uses of CollectedHeap::is_in_reserved()
Reviewed-by: stefank, coleenp
2019-09-05 08:26:49 +02:00
Vladimir Ivanov
4dc79c2e05 8227236: assert(singleton != __null && singleton != declared_interface) failed
Reviewed-by: dlong
2019-09-03 17:45:02 +03:00
Tobias Hartmann
0941bf8b5e 8230020: [BACKOUT] compiler/types/correctness/* tests fail with "assert(recv == __null || recv->is_klass()) failed: wrong type"
Back out JDK-8225670 due to performance regressions.

Reviewed-by: roland
2019-08-22 12:22:02 +02:00
Coleen Phillimore
d1ca6221a4 5103339: Strengthen NoSafepointVerifier
Add NSV check at possible safepoint transition or places that could take out locks.  Consolidate with clearing unhandled oops.

Reviewed-by: dholmes, rehn
2019-08-14 10:07:00 -04:00
Tobias Hartmann
fd4dc1dfd2 8225670: compiler/types/correctness/* tests fail with "assert(recv == __null || recv->is_klass()) failed: wrong type"
Clear entry in the ciProfileData object if the klass is NULL.

Reviewed-by: eosterlund, thartmann
2019-08-12 08:48:47 +02: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