94 Commits

Author SHA1 Message Date
Coleen Phillimore
3d6d1ec64b 8160399: is_oop_or_null involves undefined behavior
8164984: Improper use of is_oop in production code

Replace oop->is_oop*() with oopDesc::is_oop*(oop) so this pointer can be verified

Reviewed-by: iklam, kvn, dholmes
2017-08-23 14:52:55 -04:00
Harold Seigel
1a92a2ad53 8185717: Make ModuleEntry->module() return an oop not a jobject
Change ModuleEntry::module() to return an oop and add a ModuleEntry::module_handle() that returns a jobject

Reviewed-by: shade, coleenp, lfoltan
2017-08-08 09:53:52 -04:00
Ioi Lam
f7f193ae71 8072061: Automatically determine optimal sizes for the CDS regions
See new C++ class MetaspaceClosure.

Reviewed-by: coleenp, jiangli, mseledtsov
2017-08-02 18:06:38 -07:00
Ioi Lam
3e3183a5a1 8178543: Optimize Klass::is_shared()
Reviewed-by: coleenp, jiangli
2017-04-14 08:33:57 -07:00
Ioi Lam
9d5b85daf4 8178350: klassVtable and klassItable should be ValueObj
Reviewed-by: coleenp
2017-04-13 01:56:01 -07:00
Jesper Wilhelmsson
d507b8945c Merge 2017-04-18 22:25:33 +02:00
Alan Bateman
a3ab143c64 8177530: Module system implementation refresh (4/2017)
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Reviewed-by: lfoltan, sspitsyn
2017-04-07 08:04:46 +00:00
Coleen Phillimore
4b9562288f 8155672: Remove instanceKlassHandles and KlassHandles
Use unhandled pointers for Klass and InstanceKlass, remove handles with no implementation.

Reviewed-by: dholmes, lfoltan, vlivanov, sspitsyn
2017-03-15 10:25:37 -04:00
Ioi Lam
f5777dc9bd 8005165: Remove CPU-dependent code in self-patching vtables
Reviewed-by: coleenp, stuefe, jiangli
2017-03-03 23:08:35 -08:00
Coleen Phillimore
0b3bc5c4f0 8169881: Remove implicit Handle conversions oop->Handle
Pass THREAD to Handle as argument instead of implicit Thread::current() call.

Reviewed-by: dholmes, sspitsyn
2017-02-15 22:59:57 -05:00
Markus Grönlund
6a685f1d63 8170672: Event-based tracing to support classloader instances
Reviewed-by: hseigel, egahlin
2016-12-06 22:49:17 +01:00
Kirill Zhaldybin
0581d8c4cb 8165613: Convert TestKlass_test to Gtest
Reviewed-by: coleenp, rehn
2016-09-16 19:49:03 +03:00
Lois Foltan
368585d0db 8163406: The fixup_module_list must be protected by Module_lock when inserting new entries
In java_lang_Class::create_mirror, restructure the check for adding a class to the fixup_module_list, guarded by Module_lock.

Reviewed-by: acorn, coleenp, dholmes, zgu
2016-09-19 12:04:28 -04:00
Dean Long
2baffbf490 8156137: SIGSEGV in ReceiverTypeData::clean_weak_klass_links
Process previous versions in Klass::clean_weak_klass_links()

Reviewed-by: coleenp, sspitsyn, stefank, dcubed
2016-08-31 12:10:40 -07:00
David Holmes
5f1f4489ac 8157907: Incorrect inclusion of atomic.hpp instead of atomic.inline.hpp
Remove atomic.inline.hpp and move the contents back into atomic.hpp

Reviewed-by: stefank, pliden, simonis
2016-08-21 20:56:37 -04:00
Ioi Lam
79377a1bf1 8159666: Better CDS support for Event-based tracing
Reviewed-by: jiangli, mgronlun
2016-06-20 22:02:20 -07:00
Max Ockner
da0fe9d476 8154110: Update class* and safepoint* logging subsystems
Refactored logging tags in class and safepoint subsystems.

Reviewed-by: coleenp, rehn, hseigel
2016-04-29 22:40:51 -04:00
Alan Bateman
f30fc1c88b 8142968: Module System implementation
Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282

Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Christian Tornqvist <christian.tornqvist@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: George Triantafillou <george.triantafillou@oracle.com>
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Co-authored-by: James Laskey <james.laskey@oracle.com>
Co-authored-by: Jean-Francois Denise <jean-francois.denise@oracle.com>
Co-authored-by: Jiangli Zhou <jiangli.zhou@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Staffan Larsen <staffan.larsen@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: acorn, ccheung, coleenp, ctornqvi, dholmes, dsimms, gtriantafill, iklam, jiangli, mgronlun, mseledtsov, cjplummer, sspitsyn, stefank, twisti, hseigel, lfoltan, alanb, mchung, dfazunen
2016-03-17 19:04:01 +00:00
Markus Grönlund
0e44e963d2 8143226: Minor updates to Event Based tracing
Reviewed-by: jbachorik, egahlin
2016-03-01 23:46:09 +01:00
Max Ockner
ce74c2fa3c Merge 2016-02-03 18:16:54 +01:00
Max Ockner
9cab990401 8079408: Reimplement TraceClassLoading, TraceClassUnloading, and TraceClassLoaderData with Unified Logging
TraceClassLoading,  TraceClassUnloading, and TraceClassLoaderData have been reimplemented using Unified logging.

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Reviewed-by: iklam, coleenp, dholmes, jiangli, hseigel, rprotacio
2016-02-03 11:40:30 -05:00
Jesper Wilhelmsson
40c4fe8573 Merge 2016-02-03 01:35:25 +01:00
Mikael Gerdin
3cda485fe5 8148481: Devirtualize Klass::vtable
Move remainder of vtable related methods to Klass

Reviewed-by: cjplummer, coleenp
2016-01-19 12:07:32 +01:00
Vladimir Ivanov
0e01750370 8133612: new clone logic added in 8042235 is missing from compiler intrinsics
Reviewed-by: roland
2015-12-18 20:23:28 +03:00
Markus Grönlund
2ad9d3192f 8140485: Class load and creation cleanup
Reviewed-by: hseigel, coleenp, sspitsyn
2015-12-08 20:04:03 +01:00
Mikael Gerdin
211dc93a85 8148047: Move the vtable length field to Klass
Reviewed-by: cjplummer, twisti, coleenp, kbarrett
2015-12-01 10:35:49 +01:00
Coleen Phillimore
fc03719078 8139203: Consistent naming for klass type predicates
8138923: Remove oop coupling with InstanceKlass subclasses

Renamed oop_is_instance and friends, removed the functions in oop that dug down into InstanceKlass.

Reviewed-by: jrose, lfoltan, stefank
2015-10-28 09:47:23 -04:00
Coleen Phillimore
5179fc3488 8139163: InstanceKlass::cast passes through NULL
Reduce raw (InstanceKlass*) casts and InstanceKlass::cast, which no long allows null

Reviewed-by: twisti, kbarrett
2015-10-26 13:11:36 -04:00
Stefan Karlsson
0c74942fe6 8058563: InstanceKlass::_dependencies list isn't cleared from empty nmethodBucket entries
Reviewed-by: mgerdin, vlivanov
2015-10-13 10:06:46 +02:00
Kim Barrett
37125920a7 8138659: Speed up InstanceKlass subclass discrimination
Add _misc_kind field and flags, move around predicates.

Reviewed-by: coleenp, stefank
2015-10-09 14:08:15 -04:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Stefan Karlsson
232a59cb40 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
2015-04-02 10:04:27 +02:00
Stefan Karlsson
b980d93909 8075809: Add missing includes of stack.inline.hpp
Reviewed-by: jmasa, pliden
2015-03-25 10:08:09 +01:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Lois Foltan
5f8b5ceaee 8067480: Crash in klassItable::initialize_itable_for_interface when running vm.runtime.defmeth.StaticMethodsTest
A static method should be skipped in entirety by find_instance_method(), searching should continue to find an overpass method of the same name and signature if present.

Reviewed-by: acorn, hseigel
2015-01-23 09:54:33 -05:00
Stefan Karlsson
95704b233c 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
2014-11-14 09:47:09 +01:00
Lois Foltan
edc10143cb 8036805: Correct linker method lookup
Correct handling of array of primitive type qualifiers during field and method resolution.

Reviewed-by: acorn, hseigel, ahgross
2014-05-07 19:38:22 +04:00
Ioi Lam
bbe6f51f81 8046070: Class Data Sharing clean up and refactoring
Cleaned up CDS to be more configurable, maintainable and extensible

Reviewed-by: dholmes, coleenp, acorn, mchung
2014-08-12 17:29:00 -07:00
Stefan Karlsson
1b001a2afd 8049421: G1 Class Unloading after completing a concurrent mark cycle
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
2014-07-07 10:12:40 +02:00
Stefan Karlsson
ef1e9b3c80 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
2014-07-07 12:37:11 +02:00
Stefan Karlsson
8c3aced316 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
2014-07-07 10:12:40 +02:00
Coleen Phillimore
d8ce93cea5 6642881: Improve performance of Class.getClassLoader()
Add classLoader to java/lang/Class instance for fast access

Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, jfranck
2014-06-19 14:49:33 -04:00
Coleen Phillimore
c336175c94 8038212: Method::is_valid_method() check has performance regression impact for stackwalking
Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint.

Reviewed-by: mgerdin, mgronlun, hseigel, stefank
2014-05-15 18:23:26 -04:00
Goetz Lindenmaier
6e6f0720a9 8042195: Introduce umbrella header orderAccess.inline.hpp
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02:00
Christian Thalinger
78bfdda141 Merge 2014-05-02 19:00:04 -07:00
Tobias Hartmann
06c26b6f97 8036956: remove EnableInvokeDynamic flag
The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.

Reviewed-by: kvn, twisti
2014-04-29 08:08:44 +02:00
Markus Grönlund
3852709df9 8041723: Event Based tracing ids to be reassigned for CDS klasses
Reviewed-by: coleenp, ehelin
2014-04-25 10:08:04 +02:00
Lois Foltan
8c36d0cd2b 8033150: invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults
A static method should be preferred during method resolution over an overpass, search the current class as well as its superclasses.

Reviewed-by: acorn, coleenp, kamg
2014-04-14 14:27:45 -04:00
Coleen Phillimore
c8990959f2 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.

Reviewed-by: ehelin, stefank, jmasa, iklam
2014-04-08 13:58:38 -04:00