41 Commits

Author SHA1 Message Date
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
fae68ff016 8256640: assert(!m->is_old() || ik()->is_being_redefined()) failed: old methods should not be in vtable
Reviewed-by: lfoltan, dcubed, dholmes
2020-11-19 22:39:07 +00:00
Coleen Phillimore
fa8dce4f77 8256365: Clean up vtable initialization code
Reviewed-by: eosterlund, dholmes
2020-11-18 14:12:48 +00:00
Aleksey Shipilev
70c0815335 8251924: 32-bit build failures after JDK-8235765
Reviewed-by: dholmes
2020-08-18 12:46:33 +02:00
Coleen Phillimore
35421399a4 8235765: Use of the long type should be avoided in shared code
Changed some long declarations to uint64_t/int64_t or unsigned int, depending on context.

Reviewed-by: lfoltan, kvn, dholmes
2020-08-17 10:08:36 -04: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
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
Yumin Qi
832272da71 8178349: Cache builtin class loader constraints to avoid re-initializing itable/vtable for shared classes
Record loader constraints for built-in class which is loaded by app loader or platform loader in shared archive in dump time.  When the class loaded from shared archive at runtime, directly check loader constraints using the saved info so avoid lengthy relayout i/v-table at class link stage.

Reviewed-by: iklam, ccheung
2020-05-01 10:58:45 -07:00
Lois Foltan
40429eea41 8225261: Better method resolutions
Correct the class used to perform the overriding check in klassVtable::find_transitive_override

Reviewed-by: ahgross, dholmes, hseigel, jwilhelm, rhalade
2019-09-12 11:46:05 -04:00
Ioi Lam
cb75b6ee22 8235629: Remove unnecessary calls to Thread::current
Reviewed-by: coleenp, ccheung, hseigel
2019-12-11 15:25:38 -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
Kim Barrett
b8c7a95859 8232147: Remove notproduct option IgnoreLockingAssertions
Removed option.

Reviewed-by: coleenp, dholmes
2019-10-12 00:22:53 -04:00
Claes Redestad
8edf64d236 8232006: Remove dead code from klassVtable
Reviewed-by: coleenp, jiangli, lfoltan
2019-10-08 20:47:46 +02:00
Per Lidén
2d6874b861 8230841: Remove oopDesc::equals()
Reviewed-by: rkennke, tschatzl
2019-09-17 09:51:02 +02:00
Harold Seigel
5e24afc868 8226798: JVM crash in klassItable::initialize_itable_for_interface(int, InstanceKlass*, bool, Thread*)
When calculating vtable size at class load time, do not look for miranda method if matching package private method is found in a super class.

Reviewed-by: acorn, lfoltan
2019-07-11 09:26:04 -04:00
Goetz Lindenmaier
39f3368ffd 8221470: Print methods in exception messages in java-like Syntax
Reviewed-by: dholmes, mdoerr, coleenp
2019-04-04 09:39:44 +02: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
Serguei Spitsyn
4904980886 8024368: private methods are allocated vtable slots
Stop allocating vtable slots for  private methods

Reviewed-by: dholmes, acorn, lfoltan
2018-10-24 13:11:54 -07:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Coleen Phillimore
eb9259138f 8210155: Lock ClassLoaderDataGraph
In preparation for concurrent class unloading.

Reviewed-by: hseigel, eosterlund
2018-08-31 07:03:46 -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
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
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
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
Gerard Ziemski
edc81d17e1 8202150: [REDO] Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-26 11:19:05 -05:00
Gerard Ziemski
816e2e5fe0 8202151: [BACKOUT] Split globals.hpp to factor out the Flag class
Backed out JDK-8081519

Reviewed-by: kvn
2018-04-23 14:51:16 -05:00
Gerard Ziemski
60723b7e3d 8081519: Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-23 10:59:39 -05:00
Roman Kennke
b938ae51ce 8199781: Don't use naked == for comparing oops
Reviewed-by: coleenp, eosterlund, jrose
2018-04-03 13:15:27 +02:00
Stefan Karlsson
1a1aecd166 8200106: Move NoSafepointVerifier out from gcLocker.hpp
Reviewed-by: coleenp
2018-03-23 18:54:12 +01:00
Stefan Karlsson
7595845e9a 8200105: Remove cyclic dependency between oop.inline.hpp and collectedHeap.inline.hpp
Reviewed-by: coleenp, kbarrett
2018-03-15 21:29:36 +01:00
Stefan Karlsson
133faf856d 8199264: Remove universe.inline.hpp to simplify include dependencies
Reviewed-by: coleenp, hseigel
2018-03-07 21:57:36 +01:00
Jesper Wilhelmsson
d679703c0b Merge 2018-01-30 16:41:40 +01:00
Ioi Lam
a3cb6e9204 8178351: Simplify MetaspaceShared::is_in_shared_space and MetaspaceObj::is_shared
Use a single range check with MetaspaceObj::_shared_metaspace_{base,top}

Reviewed-by: jiangli, redestad, shade
2018-01-16 16:57:53 -08:00
Lana Steuck
8f528fba93 Merge 2018-01-18 18:58:46 +00:00
Harold Seigel
47bbcac667 8154587: Resolution fails for default method named 'clone'
Make sure default methods with the same names as those in j.l.Object get put in the default methods table where resolution can find them.

Reviewed-by: acorn, lfoltan
2017-12-15 11:23:50 -05:00
Coleen Phillimore
e908052a71 8189610: Reconcile jvm.h and all jvm_md.h between java.base and hotspot
Removed hotspot version of jvm*h and jni*h files.

Reviewed-by: ihse, mchung, dholmes
2017-10-31 11:55:09 -04:00
Harold Seigel
87e30fd801 8186092: Unnecessary loader constraints produced when there are multiple defaults
Do not check loader constraints for overpass methods

Reviewed-by: dholmes, acorn
2017-09-28 13:01:24 -04:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00
Vladimir Ivanov
fa8b858052 8174962: Better interface invocations
Reviewed-by: jrose, coleenp, ahgross, acorn, iignatyev
2017-05-26 18:39:27 +03:00