Michael Berg
d49d1ea740
8134802: LCM register pressure scheduling
...
Calculate register pressure in a block to help instructions scheduling.
Reviewed-by: kvn, dlong
2015-09-16 13:16:17 -07:00
Vladimir Kozlov
44a4201adc
8136406: Remove ZapDeadCompiledLocals code
...
Dead code elimination.
Reviewed-by: roland, twisti
2015-09-15 11:04:11 -07:00
Roland Westrelin
02ae6d2a31
Merge
2015-08-04 13:41:09 +02:00
Zoltan Majo
26cd440c55
8132457: Unify command-line flags controlling the usage of compiler intrinsics
...
Cleanup processing of command-line flags controlling intrinsics.
Reviewed-by: kvn
2015-08-03 09:39:29 +02:00
Sangheon Kim
a13fe250b0
8130459: Add additional validation after heap creation
...
Some PLAB related flags' validation can happen after heap creation. Introduced additional stage of validation check.
Reviewed-by: coleenp, dholmes, kbarrett, gziemski, ecaspole, ddmitriev
2015-07-27 13:56:26 -07:00
Andrew Haley
917f70414f
Merge
2015-07-02 11:12:59 +01:00
Vladimir Kozlov
0b9dfebfa4
Merge
2015-06-25 09:48:50 -07:00
Andrew Haley
52b991b411
8130150: Implement BigInteger.montgomeryMultiply intrinsic
...
Add montgomeryMultiply intrinsics
Reviewed-by: kvn
2015-06-16 17:31:53 +01:00
Michael Berg
7c7b91845f
8080325: SuperWord loop unrolling analysis
...
Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn
2015-06-16 16:10:36 -07:00
Gerard Ziemski
ed2bb8c9fc
8122937: [JEP 245] Validate JVM Command-Line Flag Arguments
...
Validate the arguments to all JVM command-line flags so as to avoid crashes, and ensure that appropriate error messages are displayed when they are invalid.
Reviewed-by: ddmitriev, dholmes, kbarrett, drwhite, brutisso, coleenp
2015-06-18 14:39:38 -05:00
Vladimir Kozlov
93d1573c5e
8081778: Use Intel x64 CPU instructions for RSA acceleration
...
Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
2015-06-03 15:02:10 -07:00
Michael C Berg
4fca8dbb1f
8076276: Add support for AVX512
...
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -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
Aleksey Shipilev
dc67bb0a0e
8076987: C1 should support conditional card marks (UseCondCardMark)
...
Reviewed-by: iveresov, roland
2015-04-22 19:10:03 +03:00
Michael C Berg
9e55e44c85
8074981: Integer/FP scalar reduction optimization
...
Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
2015-04-01 18:07:50 -07:00
Vladimir Kozlov
5f8d6ce7b6
Merge
2015-01-20 15:24:58 -08:00
Roland Westrelin
2e82794bfa
6700100: optimize inline_native_clone() for small objects with exact klass
...
Optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov
2014-12-16 13:49:36 +01:00
Vladimir Kozlov
48b6c6007f
Merge
2014-12-11 15:06:12 -08:00
Andrew Haley
0b30e012ee
8064611: AARCH64: Changes to HotSpot shared code
...
Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
2014-12-11 13:11:53 -08:00
Vladimir Ivanov
5a00d5f6b5
8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
...
Reviewed-by: kvn, roland
2014-11-24 07:29:03 -08:00
Vladimir Kozlov
c620214d18
8041984: CompilerThread seems to occupy all CPU in a very rare situation
...
Add new timeout checks to EA.
Reviewed-by: iveresov, drchase
2014-10-24 10:28:19 -07: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
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
b9e949183d
8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
...
Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.
Reviewed-by: roland
2014-09-02 12:48:45 -07: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
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
d5ff84f8b3
8032633: Enable type speculation by default
...
Enable type speculation
Reviewed-by: kvn
2014-03-06 11:11:04 +01:00
Vladimir Ivanov
3ba019c8b2
8035828: Turn on @Stable support in VM
...
Reviewed-by: jrose, twisti
2014-03-04 02:20:41 -08:00
Roland Westrelin
227129c4d9
8031754: Type speculation should favor profile data from outermost inlined method
...
Favor profile data coming from outer most method
Reviewed-by: kvn, twisti
2014-02-28 13:44:16 +01:00
Rickard Bäckman
0b85ee832e
8027754: Enable loop optimizations for loops with MathExact inside
...
Reviewed-by: kvn, iveresov
2014-01-23 12:08:28 +01:00
Vladimir Kozlov
7d92dc4d79
Merge
2014-01-28 12:28:17 -08:00
Aleksey Shipilev
fbff3b73a4
8032490: Remove -XX:+-UseOldInlining
...
Move the option to obsolete options list, purge the redundant compiler code.
Reviewed-by: kvn, jrose
2014-01-24 15:26:56 +04:00
Vladimir Kozlov
3b4f167e54
Merge
2013-12-12 11:05:39 -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
Rickard Bäckman
57e01f1502
8028997: mathexact intrinsics are unstable
...
Reviewed-by: iveresov, kvn
2013-11-22 14:14:26 +01:00
Goetz Lindenmaier
7289ee4573
8028767: PPC64: (part 121): smaller shared changes needed to build C2
...
Smaller shared changes required to build the C2 compiler on PPC64.
Reviewed-by: kvn
2013-11-21 19:00:57 -08:00
Goetz Lindenmaier
12b298218d
8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
...
Added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
2013-11-14 19:24:59 -08:00
Vladimir Kozlov
39b0e57fdd
Merge
2013-11-05 17:38:04 -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
Rickard Bäckman
441f1d74cf
8024924: Intrinsify java.lang.Math.addExact
...
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Niclas Adlertz
bcdf7e7a4d
8010941: MinJumpTableSize is set to 18, investigate if that's still optimal
...
Lowered the MinJumpTableSize for each platform
Reviewed-by: kvn
2013-09-11 09:34:00 +02: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
Vladimir Kozlov
1a700c9216
Merge
2013-09-05 11:04:39 -07:00
Goetz Lindenmaier
fac7ee02c5
8023033: PPC64 (part 13): basic changes for AIX
...
Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).
Reviewed-by: kvn, dholmes, stefank
2013-08-22 09:39:54 -07:00
Vladimir Kozlov
20f7d1a82a
8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
...
Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag.
Reviewed-by: roland
2013-08-14 10:21:26 -07:00
Vladimir Kozlov
7509ebea00
Merge
2013-06-27 13:04:51 -07:00
Goetz Lindenmaier
0522ce7a17
8016586: PPC64 (part 3): basic changes for PPC64
...
Added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.
Reviewed-by: dholmes, kvn
2013-06-20 16:30:44 -07:00
David Chase
219121826e
8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
...
Insert extra checks and bailouts for too many nodes
Reviewed-by: kvn
2013-06-11 16:34:34 -04:00
Vladimir Kozlov
b4977e887a
6934604: enable parts of EliminateAutoBox by default
...
Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
2013-05-08 15:08:01 -07:00