73 Commits

Author SHA1 Message Date
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
Christian Thalinger
9e981ee107 Merge 2015-12-18 12:39:02 -08:00
Christian Thalinger
bf5db72254 8134994: use separate VMStructs databases for SA and JVMCI
Reviewed-by: kbarrett
2015-12-14 17:02:02 -10: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
97e169ac77 8145628: hotspot metadata classes shouldn't use HeapWordSize or heap related macros like align_object_size
Use align_metadata_size, align_metadata_offset and is_metadata_aligned for metadata rather than align_object_size, etc.  Use wordSize rather than HeapWordSize for metadata.  Use align_ptr_up rather than align_pointer_up (all the related functions are ptr).

Reviewed-by: hseigel, jmasa, cjplummer
2016-01-30 11:02:29 -05:00
Ray Alex
4f42f17d9e 8146987: Improve Parallel GC Full GC by caching results of live_words_in_range()
A large part of time in the parallel scavenge collector is spent finding out the amount of live words within memory ranges to find out where to move an object to. Try to incrementally calculate this value.

Reviewed-by: tschatzl, mgerdin, jmasa
2016-01-28 13:30:12 +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
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
Stefan Johansson
dada9bc32c 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
2015-09-02 09:14:04 +02:00
Karen Kinnear
7983a4235c 8087342: Crash in klassItable::initialize_itable_for_interface
Fix method searches to handle static, private instance and overpass

Reviewed-by: lfoltan, dholmes, hseigel
2015-08-06 13:02:15 -04:00
Stefan Johansson
b04d2bca57 8080746: Refactor oop iteration macros to be more general
Reviewed-by: stefank, pliden
2015-05-25 11:39:43 +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
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
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
Coleen Phillimore
73d759e533 8049105: Move array component mirror to instance of java/lang/Class (hotspot part 2)
This removes component mirrors from arrayKlass metadata and the C2 intrinsic for them.

Reviewed-by: kvn, twisti, mgerdin
2014-08-28 11:29:09 -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
Goetz Lindenmaier
fb62773268 8042737: Introduce umbrella header prefetch.inline.hpp
Reviewed-by: twisti, stefank
2014-05-08 15:37:17 +02: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
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
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
Stefan Karlsson
959bdfb211 8035746: Add missing Klass::oop_is_instanceClassLoader() function
Reviewed-by: mgerdin, coleenp
2014-02-27 10:36:50 +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
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
Lois Foltan
fca9e37c80 8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced
Declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification

Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung
2013-08-29 18:56:29 -04:00
Jon Masamitsu
892e74a87e Merge 2013-08-22 11:13:17 -07:00
Harold Seigel
4d91f4e69d 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server

Move klass metaspace above the heap and support CDS with compressed klass ptrs.

Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
2013-08-15 20:04:10 -04:00
Stefan Karlsson
8fc3bf8715 8023227: Enhance layout_helper_log2_element_size assert
Reviewed-by: mgerdin, jmasa
2013-08-19 13:44:13 +02: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
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
Coleen Phillimore
7a409b13e0 8005056: NPG: Crash after redefining java.lang.Object
Need to walk array class vtables replacing old methods too if j.l.o redefined

Reviewed-by: sspitsyn, dcubed, ctornqvi
2013-05-13 15:37:08 -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
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
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
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
Coleen Phillimore
7aa43fc5d8 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.

Reviewed-by: twisti, jrose, stefank
2012-11-29 16:50:29 -05:00
Harold Seigel
4aad9b74e7 8001471: Klass::cast() does nothing
Remove function Klass::cast() and calls to it.

Reviewed-by: dholmes, coleenp
2012-11-12 16:15:05 -05:00