32 Commits

Author SHA1 Message Date
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