43 Commits

Author SHA1 Message Date
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
David Lindholm
ad0c208a5a 8146690: Make all classes in GC follow the naming convention
Reviewed-by: dholmes, stefank
2016-01-14 13:26:19 +01:00
Nils Eliasson
3307d0f163 Merge 2015-11-06 11:34:03 +01:00
Christian Thalinger
a38ea495d6 8139170: JVMCI refresh
Reviewed-by: kvn
2015-11-04 07:23:23 -10:00
Dean Long
344a9becee Merge 2015-10-17 19:40:30 -04:00
Coleen Phillimore
f1e89ea4cc 8140274: methodHandles and constantPoolHandles should be passed as const references
Modified code to use const reference parameters

Reviewed-by: sspitsyn, twisti
2015-10-23 16:48:38 -04:00
David Lindholm
5770f4eb32 8042893: compiler: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
8042894: runtime: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files

Reviewed-by: goetz, brutisso
2015-10-09 09:42:33 +02:00
Christian Thalinger
16526e000e 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Roland Westrelin
71e31ee0b9 8073480: C2 should optimize explicit range checks
Explicit range checks should be recognized by C2

Reviewed-by: kvn, vlivanov
2015-03-17 10:06:31 +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
Zoltan Majo
e559c17954 8059606: Enable per-method usage of CompileThresholdScaling (per-method compilation thresholds)
Changed interpreter and compilation policies to allow using CompileThresholdScaling on a per-method level

Reviewed-by: jrose, kvn
2015-01-21 10:51:35 +01:00
Coleen Phillimore
feb09bc118 8067713: Move clean_weak_method_links for redefinition out of class unloading
Do this work during class redefinition, only verify clean during class unloading in debug mode.

Reviewed-by: sspitsyn, roland, kbarrett
2014-12-18 16:15:21 -05:00
Jesper Wilhelmsson
2616e09389 Merge 2014-11-17 21:32:32 +01: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
Tobias Hartmann
00aa20db4a 8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations'
Always use MDO if valid and always compile trivial methods with C1 if available.

Reviewed-by: kvn, iveresov
2014-11-11 11:05:41 +01:00
Igor Veresov
6dc6f53f6a 8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters
Tiered policy requires highest compilation levels always available

Reviewed-by: kvn, vlivanov
2014-09-11 00:04:50 -07:00
Roland Westrelin
a2d18a0238 8057038: Speculative traps not robust when compilation and class unloading are concurrent
Speculative traps can be removed from MDO while being copied by compiler

Reviewed-by: kvn, iveresov
2014-08-02 06:15:23 +02:00
Roland Westrelin
c0deb9e08a 8040237: nsk/jvmti/RetransformClasses/retransform001 crashed the VM on all platforms when run with with -server -Xcomp
Class redefinition may cause speculative trap clean up code to dereference dead method

Reviewed-by: kvn, coleenp
2014-07-10 15:12:48 +02:00
Igor Veresov
54db2c2d61 8032463: VirtualDispatch test timeout with DeoptimizeALot
Introduce code aging for warm method detection

Reviewed-by: kvn, twisti
2014-05-13 11:32:10 -07:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -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
Roland Westrelin
7da7a9c72a 8038636: speculative traps break when classes are redefined
Remove speculative traps that point to methods that are redefined

Reviewed-by: kvn, twisti
2014-04-08 09:51:25 +02:00
Roland Westrelin
b21d142f01 8037970: make PrintMethodData a diagnostic options
Make PrintMethodData a diagnostic options for performance investigation

Reviewed-by: kvn, iveresov
2014-03-31 10:35:06 +02:00
Roland Westrelin
fa3b0a8f47 8031755: Type speculation should be used to optimize explicit null checks
Feed profiling data about reference nullness to type speculation.

Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02:00
Vladimir Kozlov
97a51c5c2a 8031320: Use Intel RTM instructions for locks
Use RTM for inflated locks and stack locks.

Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Roland Westrelin
38fd717c30 8035841: assert(dp_src->tag() == dp_dst->tag()) failed: should be same tags 1 != 0 at ciMethodData.cpp:90
Concurrent update of traps with construction of ciMethodData

Reviewed-by: kvn, twisti
2014-03-05 09:29:12 +01: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
Vladimir Kozlov
aabed3781b Merge 2013-11-21 12:30:35 -08:00
Roland Westrelin
3fbc683322 8027572: assert(r != 0) failed: invalid
Null classes should be expected in profiles with conflicts

Reviewed-by: kvn, iveresov
2013-11-13 13:45:50 +01:00
Vladimir Kozlov
39b0e57fdd Merge 2013-11-05 17:38:04 -08:00
Roland Westrelin
b94884a330 8026251: New type profiling points: parameters to methods
X86 interpreter and c1 type profiling for parameters on method entries

Reviewed-by: kvn, twisti
2013-10-22 09:51:47 +02:00
Roland Westrelin
c8bfc7e7d7 8026054: New type profiling points: type of return values at calls
X86 interpreter and c1 type profiling for return values at calls

Reviewed-by: kvn, twisti
2013-10-12 12:12:59 +02:00
Roland Westrelin
cbd0e9bf96 8023657: New type profiling points: arguments to call
X86 interpreter and c1 type profiling for arguments at calls

Reviewed-by: kvn, twisti
2013-10-09 16:32:21 +02:00
Goetz Lindenmaier
0732a739b3 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
Implement profiling for c2 jit compilation. Also enable new cppInterpreter features.

Reviewed-by: kvn
2013-09-15 15:28:58 +02:00
Ioi Lam
9dc36eb923 8014912: Restore PrintSharedSpaces functionality after NPG
Added dumping of object sizes in CDS archive, sorted by MetaspaceObj::Type

Reviewed-by: coleenp, acorn
2013-05-28 16:36:19 -07:00
Jiangli Zhou
2f703b2613 Merge 2013-04-15 21:25:23 -04:00
Jiangli Zhou
56370657b9 8010862: The Method counter fields used for profiling can be allocated lazily
Allocate the method's profiling related metadata until they are needed.

Reviewed-by: coleenp, roland
2013-04-09 17:17:41 -04:00
Igor Ignatyev
ca90185607 8007288: Additional WB API for compiler's testing
Reviewed-by: kvn, vlivanov
2013-04-09 09:54:17 -07:00
Thomas Wuerthinger
06ef4cddf7 7153771: array bound check elimination for c1
When possible optimize out array bound checks, inserting predicates when needed.

Reviewed-by: never, kvn, twisti
2013-03-21 09:27:54 +01: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
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
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