111 Commits

Author SHA1 Message Date
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
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Dmitry Samersoff
c291efb1df 6904403: assert(f == k-&gt;has_finalizer(),&quot;inconsistent has_finalizer&quot;) with debug VM
Don't assert if one of classes in hierarhy was redefined

Reviewed-by: coleenp, sspitsyn
2014-05-28 07:36:32 -07: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
Coleen Phillimore
472622d900 8031820: NPG: Fix remaining references to metadata as oops in comments
8012125: Comments for ConstantPoolCache should reflect the addition of resolved_references in ConstantPool

Updated comments in metadata header files, and renamed this_oop variables to this_cp or this_k when referring to constant pool or classes.

Reviewed-by: stefank, jmasa
2014-03-26 21:47:45 -04:00
Roland Westrelin
493557fc90 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.

Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01:00
Coleen Phillimore
4ab0b2732c 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.

Reviewed-by: dcubed, acorn
2014-02-15 13:03:38 -05:00
Yumin Qi
a90e842e0c 8033792: AltHashing used jint for imprecise bit shifting
AltHashing used jint the way of juint in bit shifting which could lead loss of precision. Fix  by change _seed defined as juint.

Reviewed-by: coleenp, ccheung
2014-02-10 21:29:14 -08:00
Harold Seigel
4856bd53aa 8027804: JCK resolveMethod test fails expecting AbstractMethodError
Create AME overpass methods and fix method search logic

Reviewed-by: kamg, acorn, lfoltan, coleenp
2013-12-16 08:24:33 -05:00
Karen Kinnear
536943884a 8028438: static superclass method masks default methods
Reviewed-by: hseigel, lfoltan, coleenp
2013-12-03 11:13:14 -08:00
Lois Foltan
28557bc30e 8026065: InterfaceMethodref for invokespecial must name a direct superinterface
Add verification to check that invokespecial of an InterfaceMethodref names a method in a direct superinterface of the current class or interface in accordance with JSR 335, JVMS 4.9.2 Structural Constraints.

Reviewed-by: acorn, hseigel, coleenp
2013-11-26 09:52:22 -05:00
Ioi Lam
0e4eda601c 8014910: deadlock between JVM/TI ClassPrepare event handler and CompilerThread
Revert changes in JDK-8008962

Reviewed-by: coleenp, sspitsyn
2013-10-22 14:29:02 -07:00
Karen Kinnear
088ded71f9 8009130: Lambda: Fix access controls, loader constraints
New default methods list with inherited superinterface methods

Reviewed-by: minqi, sspitsyn, coleenp
2013-10-07 12:20:28 -04:00
Lois Foltan
e2466c1507 8025004: -XX:+CheckUnhandledOops asserts for JDK 8 Solaris fastdebug binaries
Remove unnecessary volatile keyword on stack locals within instanceKlass.cpp to work around Solaris Studio C++ compiler issue

Reviewed-by: coleenp, dcubed
2013-10-03 18:50:58 -04:00
Daniel D. Daugherty
156b06d897 Merge 2013-09-20 12:58:35 -07:00
Coleen Phillimore
ec5e07f810 8022887: Assertion hit while using class and redefining it with RedefineClasses simultaneously
Need to refetch each method from InstanceKlass after all safepoints.  Removed leaky PreviousVersionInfo code.

Reviewed-by: dcubed, sspitsyn
2013-09-20 09:30:02 -04:00
David Chase
222c735458 8014013: CallInfo structure no longer accurately reports the result of a LinkResolver operation
Enhance method resolution and resulting data structures, plus some refactoring.

Reviewed-by: twisti, acorn, jrose
2013-09-13 22:38:02 -04:00
Jiangli Zhou
553b498f51 8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes
Change InstanceKlass::_source_file_name and _generic_signature to u2 fields.

Reviewed-by: coleenp, iklam
2013-08-19 14:59:54 -04:00
Jiangli Zhou
3dfcb4125e 8020309: Eliminate InstanceKlass::_cached_class_file_len
Use JvmtiCachedClassFileData.

Reviewed-by: iklam, sspitsyn, dcubed
2013-07-17 18:06:29 -04:00
Jiangli Zhou
b454ece6d7 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful
Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size.

Reviewed-by: stefank, coleenp
2013-07-03 17:26:59 -04:00
Coleen Phillimore
39a1c1d6c2 8016325: JVM hangs verifying system dictionary
Minimize redundant verifications of Klasses.

Reviewed-by: hseigel, jmasa
2013-06-24 18:55:46 -04:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Serguei Spitsyn
b2e43ed612 8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes
The fix of perf regression is to use method_idnum() for direct indexing into NMT

Reviewed-by: twisti, kvn, coleenp, dholmes
2013-05-23 23:04:33 -07:00
Coleen Phillimore
6ed8c8fcea 8003421: NPG: Move oops out of InstanceKlass into mirror
Inject protection_domain, signers, init_lock into java_lang_Class

Reviewed-by: stefank, dholmes, sla
2013-05-22 14:37:49 -04:00
Yumin Qi
c6aa9c656f 8003557: NPG: Klass* const k should be const Klass* k
With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.

Reviewed-by: coleenp, kvn
2013-05-10 08:27:30 -07:00
Ioi Lam
4e19360f89 8008962: NPG: Memory regression: One extra Monitor per ConstantPool
Re-use InstanceKlass::_init_lock locking ConstantPool as well.

Reviewed-by: dholmes, coleenp, acorn
2013-04-25 12:55:49 -07:00
Coleen Phillimore
cd7d504d54 8011803: release_C_heap_structures is never called for anonymous classes
Call this function from the ClassLoaderData destructor instead of the system dictionary walk.

Reviewed-by: stefank, mgerdin
2013-04-24 16:19:35 -04:00
Serguei Spitsyn
87f3086e13 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Lazily create and maintain the MemberNameTable to be able to update MemberName's

Reviewed-by: coleenp, jrose, dholmes
2013-04-20 04:07:08 -07:00
Coleen Phillimore
c5867cb71b 8003419: NPG: Clean up metadata created during class loading if failure
Store metadata on ClassFileParser instance to be cleaned up by destructor.  This enabled some refactoring of the enormous parseClassFile function.

Reviewed-by: jmasa, acorn
2013-03-13 17:34:29 -04:00
Daniel D. Daugherty
fc336457e7 Merge 2013-03-08 17:49:52 -08:00
Coleen Phillimore
addd95f165 8003553: NPG: metaspace objects should be zeroed in constructors
Zero metadata in constructors, not in allocation (and some in constructors)

Reviewed-by: jmasa, sspitsyn
2013-03-08 11:47:57 -05:00
Morris Meyer
15108cd14e 8008750: [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp
Fix null pointer

Reviewed-by: kvn, coleenp
2013-03-05 18:03:36 -08:00
Coleen Phillimore
faea95b8d3 8007320: NPG: move method annotations
Allocate method annotations and attach to ConstMethod if present

Reviewed-by: dcubed, jiangli, sspitsyn, iklam
2013-02-11 14:06:22 -05:00
Bill Pittore
9cad40fca6 Merge 2013-02-07 16:05:48 -05:00
Jiangli Zhou
7cadb57785 Merge 2013-02-01 15:25:37 -05:00
Ioi Lam
93b845e21b 6479360: PrintClassHistogram improvements
Jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions)

Reviewed-by: coleenp, hseigel, sla, acorn
2013-01-25 15:06:18 -05:00
Ioi Lam
27c881b2fb 8006280: Need to reorder metadata structures to reduce size (64-bit)
Reordered Klass, InstanceKlass and Method to save 8 bytes each

Reviewed-by: coleenp, jiangli
2013-01-24 10:57:38 -08:00
Joseph Provino
698fba94ef 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.

Reviewed-by: coleenp, stefank
2013-01-23 13:02:39 -05:00
Dean Long
6e8916cdbb Merge 2013-01-17 01:27:02 -05:00
Aleksey Shipilev
0614ed6542 8003985: Support @Contended Annotation - JEP 142
HotSpot changes to support @Contended annotation.

Reviewed-by: coleenp, kvn, jrose
2013-01-14 15:17:47 +01:00
Jiangli Zhou
2cbabcea4a 8005895: Inefficient InstanceKlass field packing wasts memory
Pack _misc_has_default_methods into the _misc_flags, move _idnum_allocated_count.

Reviewed-by: coleenp, shade
2013-01-11 16:55:07 -05:00
Zhengyu Gu
db4cfa5011 Merge 2013-01-08 11:39:53 -08:00
Zhengyu Gu
5c6318e816 8005048: NMT: #loaded classes needs to just show the # defined classes
Count number of instance classes so that it matches class metadata size

Reviewed-by: coleenp, acorn
2013-01-08 14:04:25 -05:00
Coleen Phillimore
64499d9494 8005494: SIGSEGV in Rewriter::relocate_and_link() when testing Weblogic with CompressedOops and KlassPtrs
Relocate functions with jsr's when rewriting so not repeated after reading shared archive

Reviewed-by: twisti, jrose
2013-01-02 20:28:09 -05:00
Joel Borggren-Franck
6ed6cb5375 8004823: Add VM support for type annotation reflection
Reviewed-by: dholmes, coleenp
2012-12-20 10:22:19 +01:00
Coleen Phillimore
54bbf614e8 8004883: NPG: clean up anonymous class fix
Add klass_holder() to return either mirror or class_loader depending on if the class is anonymous or not.

Reviewed-by: stefank, jrose
2012-12-12 11:39:29 -05:00