286 Commits

Author SHA1 Message Date
Andreas Schoesser
cabec1ca5e 8050978: Fix bad field access check in C1 and C2
JCK8 test vm/constantpool/accessControl/accessControl004/accessControl00402m3/accessControl00402m3.html fails with -Xbatch -Xcomp due to bad field access check in C1 and C2. Fix: In ciField::ciField(), just before the canonical holder is stored into the _holder variable (and which is used by ciField::will_link()) perform an additional access check with the holder declared in the class file. If this check fails, store the declared holder instead and ciField::will_link() will bail out compilation for this field later on. Then, the interpreter will throw an PrivilegedAccessException at runtime.

Reviewed-by: kvn, vlivanov
2014-07-18 09:04:01 +02:00
Vladimir Ivanov
9b8aaef575 8049530: Provide descriptive failure reason for compilation tasks removed for the queue
Reviewed-by: roland, iveresov
2014-07-14 03:26:52 -07:00
Jon Masamitsu
fbe6d80096 Merge 2014-07-10 13:39:18 -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
Tobias Hartmann
d929c9ead8 8007987: ciConstantPoolCache::_keys should be array of 32bit int
The type of ciConstantPoolCache::_keys is changed to int which is sufficient to store the 2 byte constant pool indices.

Reviewed-by: twisti, coleenp
2014-07-01 09:02:45 +02:00
Coleen Phillimore
243d697d71 8026977: NPG: Remove ConstantPool::lock
Write klass and resolved_references constant pool fields lock free.

Reviewed-by: jrose, twisti
2014-06-19 11:16:10 -04:00
Christian Thalinger
67ad89efd5 Merge 2014-05-22 16:26:05 -07:00
Chuck Rasbold
1bf7f2b9a6 8043354: 8043354: Make is_return_allocated() respect allocated objects than can method-escape
In bcEscapeAnalyzer update the _allocated_escapes flag if a var escapes the method.

Reviewed-by: kvn
2014-05-21 10:54:59 -07:00
Roland Westrelin
7ef690b2c7 8026694: New type profiling points break compilation replay
Fixes compilation replay with new profiling points

Reviewed-by: kvn, twisti
2014-05-15 09:09:28 +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
Vladimir Kozlov
5c074b749c 8041959: Skip replay parsing errors with ReplayIgnoreInitErrors
Allow replay compilation with replay file parsing error.

Reviewed-by: twisti, iveresov
2014-04-29 10:29:56 -07:00
Tobias Hartmann
06c26b6f97 8036956: remove EnableInvokeDynamic flag
The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.

Reviewed-by: kvn, twisti
2014-04-29 08:08:44 +02:00
Roland Westrelin
f5adc57f94 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.

Reviewed-by: twisti, kvn
2014-04-01 09:36:49 +02:00
Roland Westrelin
522abfc113 8005079: fix LogCompilation for incremental inlining
Report late inlining as part of the rest of the inlining output

Reviewed-by: twisti, kvn
2014-04-10 11:38:12 +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
04e8f32451 8038286: nm->set_rtm_state() should be called after (nm != NULL) check
Move set_rtm_state() call after (nm != NULL) check

Reviewed-by: iveresov, twisti
2014-03-24 17:44:27 -07: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
Vladimir Ivanov
fc6e8666a1 8036100: Default method returns true for a while, and then returns false
Reviewed-by: kvn, jrose
2014-03-04 02:33:10 -08:00
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Morris Meyer
c696dd6700 Merge 2014-02-28 08:02:20 -08:00
Markus Grönlund
68857c9469 8035493: JVMTI PopFrame capability must instruct compilers not to prune locals
Reviewed-by: kvn, sla, coleenp, sspitsyn
2014-02-22 10:22:05 +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
Jesper Wilhelmsson
81ba2e32c0 8025856: Fix typos in the GC code
Fix about 440 typos in comments in the VM code

Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
2014-01-23 14:47:23 +01:00
Vladimir Kozlov
ba7149bbda 8028468: Add inlining information into ciReplay
Allow dump and replay inlining for specified method during a program execution.

Reviewed-by: roland, twisti
2014-01-08 10:25:50 -08:00
Mikael Vidstedt
a0da47fd66 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Copyright year updated for files modified during 2013

Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Albert Noll
901b435bc1 8028306: nsk stress tests, CodeCache fills, then safepoint asserts
Move handle_full_code_cache() out of block that forbids safepoints

Reviewed-by: kvn, iveresov
2013-11-14 19:27:07 +01: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 Ivanov
505ac76763 8023037: Race between ciEnv::register_method and nmethod::make_not_entrant_or_zombie
Reviewed-by: kvn, iveresov
2013-11-08 01:13:11 -08:00
Igor Veresov
e43ac25584 8026735: Stream tests throw java.lang.IncompatibleClassChangeError
Put a band-aid to disable CHA-based inlining for interfaces with default methods in C1

Reviewed-by: kvn, twisti
2013-10-30 22:55:11 -07:00
Igor Veresov
986d2145ba Merge 2013-10-24 16:25:24 -07: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
Roland Westrelin
1b5bd82335 8024070: C2 needs some form of type speculation
Record unused type profile information with type system, propagate and use it.

Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02: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
Christian Thalinger
3fc4c7060d 8007923: Tests on references fails
Reviewed-by: kvn, iveresov
2013-10-08 19:57:28 -07:00
Christian Thalinger
619948a8f1 8025566: EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
Reviewed-by: kvn
2013-10-07 10:41:56 -07:00
Vladimir Ivanov
9edb09d8fb 8024943: ciReplay: fails to dump replay data during safepointing
Reviewed-by: kvn, twisti
2013-10-07 14:11:49 +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
Vladimir Ivanov
f0e77ac67f 8001107: @Stable annotation for constant folding of lazily evaluated variables
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: rbackman, twisti, kvn
2013-09-10 14:51:48 -07:00
Rickard Bäckman
6ef251ac19 8022283: Assertion failed: assert(is_loaded() && field->holder()->is_loaded() && klass()->is_subclass_of (field->holder())) failed: invalid access
Reviewed-by: roland, twisti
2013-08-20 09:37:01 +02:00
Roland Westrelin
f188c2bf70 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Do patching rather bailing out for unlinked call with appendix

Reviewed-by: twisti, kvn
2013-08-21 13:34:45 +02:00
Frederic Parain
6ede7eb0ed Merge 2013-07-26 05:54:01 -07:00
Yumin Qi
2bee4db29d 8012263: ciReplay: gracefully exit & report meaningful error when replay data parsing fails
Find_method could return NULL so need explicitly check if there is error after parse_method, exit on error to avoid crash.

Reviewed-by: kvn, twisti
2013-07-19 14:43:45 -07:00
Vladimir Kozlov
2d3b117249 8020215: Different execution plan when using JIT vs interpreter
Fix bytecode analyzer

Reviewed-by: twisti
2013-07-12 14:01:37 -07:00