83 Commits

Author SHA1 Message Date
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
Yumin Qi
f712e12f98 6830717: replay of compilations would help with debugging
When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.

Reviewed-by: kvn, twisti, sspitsyn
2012-11-12 14:03:53 -08:00
Keith McGuigan
6563cda42b 7200776: Implement default methods in interfaces
Add generic type analysis and default method selection algorithms

Reviewed-by: coleenp, acorn
2012-10-11 12:25:42 -04:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Frederic Parain
13c689d9c3 6294277: java -Xdebug crashes on SourceDebugExtension attribute larger than 64K
Reviewed-by: sspitsyn, dholmes, coleenp, kamg
2012-07-09 01:28:37 -07:00
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00
Jiangli Zhou
31e63d5a3a 7168280: Eliminate the generic signature index slot from field array for field without generic signature
Only allocate the generic signature index slot in the field array for field with generic signature attribute.

Reviewed-by: coleenp, dlong
2012-05-21 14:10:35 -04:00
Vladimir Kozlov
65e294a51d Merge 2012-05-09 10:54:29 -07:00
Jiangli Zhou
2fa131f8db 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support
Change the _host_klass to be conditionally created embedded instanceKlass field.

Reviewed-by: jrose, coleenp, dholmes
2012-05-02 13:21:36 -04:00
Jiangli Zhou
4fd64312c8 7159772: instanceKlass::all_fields_count() returns incorrect total field count
Fix instanceKlass::all_fields_count() bug.

Reviewed-by: kvn, never
2012-04-10 09:31:04 -07:00
Jiangli Zhou
b9e6895d3a 7109878: The instanceKlass EnclosingMethhod attribute fields can be folded into the _inner_class field
Fold instanceKlass::_enclosing_method_class_index and instanceKlass::_enclosing_method_method_index into the instanceKlass::_inner_classes array.

Reviewed-by: never, coleenp
2012-03-13 13:50:48 -04:00
Rickard Bäckman
cf406f37e3 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
2012-03-06 12:36:59 +01:00
Jiangli Zhou
4a02eb3afe 7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass
Change implementor to embedded instanceKlass field.

Reviewed-by: sspitsyn, minqi, coleenp
2012-03-29 22:18:56 -04:00
Bill Pittore
8e09c4566e Merge 2012-02-06 10:57:49 -05:00
Stefan Karlsson
b7d5d72f78 7022100: Method annotations are incorrectly set when redefining classes
Changed to the correct annotation arrays

Reviewed-by: kamg, dholmes, sla
2012-01-27 13:46:24 +01:00
Jiangli Zhou
cd85c690df 7132690: InstanceKlass:_reference_type should be u1 type
Change InstanceKlass::_reference_type to u1 type.

Reviewed-by: dholmes, coleenp, acorn
2012-01-25 17:40:51 -05:00
Jiangli Zhou
6bc84f7865 7129240: backout fix for 7102776 until 7128770 is resolved
Reviewed-by: phh, bobv, coleenp, dcubed
2012-01-11 19:54:34 -08:00
Vladimir Kozlov
b93ca70b9b Merge 2012-01-06 20:09:20 -08:00
Jiangli Zhou
0671e90755 7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type
Change instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count to u2 type.

Reviewed-by: never, bdelsart, dholmes
2011-12-28 12:15:57 -05:00
Stefan Karlsson
e057d60ca1 7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.

Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Jiangli Zhou
f9f4ba0203 7117052: instanceKlass::_init_state can be u1 type
Change instanceKlass::_init_state field to u1 type.

Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Jiangli Zhou
ee88278d34 7102776: Pack instanceKlass boolean fields into single u1 field
Reduce class runtime memory usage by packing 4 instanceKlass boolean fields into single u1 field. Save 4-byte for each loaded class.

Reviewed-by: dholmes, bobv, phh, twisti, never, coleenp
2011-11-17 12:53:59 -05:00
Tom Rodriguez
e3afdf10ad 7088955: add C2 IR support to the SA
Reviewed-by: kvn
2011-09-11 14:48:24 -07:00
Tom Rodriguez
e39ba1a5fe 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
2011-09-10 17:29:02 -07:00
Coleen Phillimore
57769e3600 7033141: assert(has_cp_cache(i)) failed: oob
Unrewrite bytecodes for OOM error allocating the constant pool cache.

Reviewed-by: dcubed, acorn, never
2011-05-21 15:39:54 -07:00
John Cuthbertson
7c844aba67 Merge 2011-04-14 13:45:41 -07:00
Jon Masamitsu
b6e631d446 Merge 2011-04-08 14:19:50 -07:00
John R Rose
16784a72e8 6981791: remove experimental code for JSR 292
Reviewed-by: twisti
2011-04-07 17:02:30 -07:00
John Cuthbertson
a08e1ce906 7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.

Reviewed-by: kvn, iveresov, never, tonyp, dholmes
2011-04-07 09:53:20 -07:00