86 Commits

Author SHA1 Message Date
Robbin Ehn
28b1a5e7f4 8150015: Integrate TraceTime with Unified Logging more seamlessly
Reviewed-by: coleenp, dholmes
2016-03-15 14:41:07 +01:00
Gustavo Romero
1c2427a182 8150353: PPC64LE: Support RTM on linux
Reviewed-by: mdoerr, kvn
2016-03-07 10:03:06 -03:00
Roland Westrelin
449c65bf50 8007986: GrowableArray should implement binary search
Binary search method for GrowableArray

Reviewed-by: vlivanov, jrose
2016-02-23 17:59:27 +01:00
Tobias Hartmann
ca56200977 6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
Emit CastII to make narrow ConvI2L dependent on the corresponding range check.

Reviewed-by: kvn, roland
2016-01-18 08:40:25 +01:00
Frederic Parain
ef800bd53f 8046936: JEP 270: Reserved Stack Areas for Critical Sections
Reviewed-by: acorn, dcubed
2015-12-11 09:07:07 -08:00
Jesper Wilhelmsson
1a5787d42e Merge 2015-11-05 19:31:57 +01:00
Jan Civlin
0485593fbc 8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Emit vector conditional moves

Reviewed-by: kvn
2015-10-26 19:33:31 -07:00
Nils Eliasson
5a5faf94bf 8137167: JEP165: Compiler Control: Implementation task
Compiler Control JEP

Reviewed-by: roland, twisti, zmajo, simonis
2015-10-20 18:07:28 +02:00
Goetz Lindenmaier
83b3b21342 8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux
Reviewed-by: stuefe, coleenp, roland
2015-10-22 13:07:10 -04:00
Jesper Wilhelmsson
e75e2e04f7 Merge 2015-10-07 01:03:24 +02:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Vladimir Kozlov
44a4201adc 8136406: Remove ZapDeadCompiledLocals code
Dead code elimination.

Reviewed-by: roland, twisti
2015-09-15 11:04:11 -07:00
Nils Eliasson
559bf7ef6e 8135067: Preparatory refactorings for compiler control
Extract CompileTask and clean up

Reviewed-by: roland
2015-09-04 12:47:57 +02:00
Zoltan Majo
0d7ee212ea 8133625: src/share/vm/opto/compile.hpp:96: error: integer constant is too large for ‘long’ type
Wrap constant causing the failure into into CONST64(). Update comments.

Reviewed-by: kvn
2015-08-19 11:59:00 +02:00
Jan Civlin
2a4f18ccbd 8085932: Fixing bugs in detecting memory alignments in SuperWord
Reviewed-by: kvn
2015-07-14 09:55:22 -07:00
Jan Civlin
c7d33de202 8076284: Improve vectorization of parallel streams
Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.

Reviewed-by: kvn
2015-05-05 12:33:57 -07:00
Vladimir Ivanov
5ff12acb9d 8062280: C2: inlining failure due to access checks being too strict
Reviewed-by: kvn
2015-04-14 18:11:06 +03:00
Roland Westrelin
88848bd9e8 6912521: System.arraycopy works slower than the simple loop for little lengths
Convert small array copies to series of loads and stores

Reviewed-by: kvn, vlivanov
2015-02-18 18:14:07 +01:00
Vladimir Ivanov
5a00d5f6b5 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
2014-11-24 07:29:03 -08:00
Zoltan Majo
bde7fd61b4 8060215: per-method PrintIdealGraphLevel
Use CompileCommand=option to set PrintIdealGraphLevel on a per-method level. Introduce the PrintIdealGraph develop to control/check if printing the graph is enabled for any method

Reviewed-by: kvn, dlong, thartmann
2014-10-15 10:51:43 +02:00
Albert Noll
82171aa7ab 8059331: Print additional information for the assert in Compile::start()
Add additional output that shows the failure reason

Reviewed-by: kvn
2014-10-06 06:51:37 -07:00
Aleksey Shipilev
f824f8c3cb 8058968: Compiler time traces should be improved
Use CITime consistently, make C2 to report to CompilerBroker, more probes.

Reviewed-by: vlivanov, jrose
2014-09-25 12:10:57 +04:00
Vladimir Kozlov
8b93fb04cd 8056964: JDK-8055286 changes are incomplete
Added ccstr and ccstrlist types to compilerOracle 'option' command

Reviewed-by: roland
2014-09-02 10:26:48 -07:00
Roland Westrelin
a56ade07c7 7173584: Implement arraycopy as a macro node
Delay the conversion of arraycopy to stub calls to macro expansion

Reviewed-by: kvn, iveresov
2014-08-11 14:12:51 +02:00
Tobias Hartmann
11eb4553c9 8040213: C2 does not put all modified nodes on IGVN worklist
Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'

Reviewed-by: kvn, jrose
2014-07-25 10:06:17 +02:00
Roland Westrelin
b5e96ad985 8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc
Call to Object.finalize() sometimes allowed by compilers on array type

Reviewed-by: iveresov, vlivanov
2014-07-02 22:54:18 +02:00
Roland Westrelin
2838bcc3bf 8026796: Make replace_in_map() on parent maps generic
Propagate node replacements along control flow edges to callers

Reviewed-by: kvn, vlivanov
2014-06-10 13:37:16 +02:00
Roland Westrelin
ee80d81323 8043638: Multiple compilation attempts break LogCompulation, lead to confusing PrintInlining output
Dumps inlining only for last compilation attempt. Fix LogCompilation tool so it handles multiple compilation attempts.

Reviewed-by: vlivanov, kvn
2014-05-26 14:27:01 +02:00
Christian Thalinger
115d44f61b Merge 2014-05-15 11:35:26 -07:00
Coleen Phillimore
388434f387 Merge 2014-05-12 09:47:57 -04: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
Zhengyu Gu
adcde492fa 8041415: remove port.{cpp,hpp} files
Hotspot should use standard headers and types

Reviewed-by: coleenp, kvn
2014-05-07 06:03:31 -07:00
Vladimir Kozlov
c909ac41de 8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.

Reviewed-by: twisti, iveresov
2014-05-02 16:44:54 -07: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
eb8588549a 8007988: PrintInlining output is inconsistent with incremental inlining
Fix duplicate and conflicting inlining output

Reviewed-by: kvn, vlivanov
2014-04-09 09:17:43 +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
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
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08: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
Goetz Lindenmaier
9c10079653 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.

Reviewed-by: kvn
2013-12-20 13:51:14 +01:00
Vladimir Kozlov
1b2bf0be10 Merge 2013-12-05 15:13:12 -08:00
Goetz Lindenmaier
ecca1bcc72 8029015: PPC64 (part 216): opto: trap based null and range checks
On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.

Reviewed-by: kvn
2013-11-27 16:16:21 -08:00
Markus Grönlund
b1e3461fe5 8028128: Add a type safe alternative for working with counter based data
Reviewed-by: dholmes, egahlin
2013-11-23 12:25:13 +01:00
Goetz Lindenmaier
b4ded0bc2e 8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object
Also introduces the compiler oracle 'option' feature for PrintAssembly.

Reviewed-by: kvn
2013-11-22 12:14:09 -08:00
Igor Veresov
c342a79faf 8017065: C2 allows safepoint checks to leak into G1 pre-barriers
Make all raw loads strictly respect control dependencies, make sure RCE doesn't move raw loads, add verification of G1 pre-barriers.

Reviewed-by: kvn, roland
2013-11-05 01:57:18 -08: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
3f8ae3e9b9 8024069: replace_in_map() should operate on parent maps
Type information gets lost because replace_in_map() doesn't update parent maps

Reviewed-by: kvn, twisti
2013-10-19 12:16:43 +02:00
Vladimir Kozlov
0ccb2841ea 8022585: VM crashes when ran with -XX:+PrintInlining
Use adr_at() to access inline info structures in growableArray. Add ability to specify print inlining per method.

Reviewed-by: twisti
2013-09-24 16:08:00 -07: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