1276 Commits

Author SHA1 Message Date
Aleksey Shipilev
03174f3030 8149813: Move trusted final field handling from C2 LoadNode::Value to shared code
Reviewed-by: thartmann, kvn
2016-02-15 23:45:15 +03:00
Vladimir Ivanov
8555d89404 Merge 2016-02-15 18:42:45 +00:00
Vladimir Ivanov
f1fe7d5aca 8148994: Replacing MH::invokeBasic with a direct call breaks LF customization
Reviewed-by: jrose, redestad
2016-02-15 20:26:50 +03:00
Roland Westrelin
0cd6070d58 8149797: Compilation fails with "assert(in_hash) failed: node should be in igvn hash table"
Node replaced by dominating dead cast during parsing

Reviewed-by: kvn
2016-02-15 15:15:56 +01:00
Tobias Hartmann
8b42758800 Merge 2016-02-15 11:52:51 +01:00
Jesper Wilhelmsson
c6d81e192d Merge 2016-02-11 21:07:38 +01:00
Roland Westrelin
3e3ac8f318 8149543: range check CastII nodes should not be split through Phi
Splitting range check CastIIs through loop induction Phi prevents further optimizations

Reviewed-by: kvn, mcberg
2016-02-11 12:42:12 +01:00
Michael Berg
3ade110066 8149421: Vectorized Post Loops
Add vectorised post loop for counted loops with vectors.

Reviewed-by: kvn
2016-02-12 16:12:15 -08:00
Tobias Hartmann
afca49ff29 8148752: Compiled StringBuilder code throws StringIndexOutOfBoundsException
Fixed handling of long/double MH arguments in GraphBuilder::try_method_handle_inline().

Reviewed-by: roland, shade, vlivanov, kvn, twisti
2016-02-10 07:54:26 +01:00
Roland Westrelin
9d5f03332e 8143542: C2 doesn't eliminate identical checks
Two identical Ifs back to back can be merged

Reviewed-by: kvn
2016-02-03 12:36:18 +01:00
Roland Westrelin
7fa54e38e6 8137049: Code quality: reducing an trivial integer loop does not produce an optimal code
Canonicalized if shape not recognized by empty loop detection code

Reviewed-by: kvn, shade
2016-01-29 17:18:35 +01:00
Roland Westrelin
1462f0b038 8147645: get_ctrl_no_update() code is wrong
Array.fill intrinsification code doesn't mark replaced control as dead

Reviewed-by: kvn
2016-02-03 10:58:50 +01:00
Krystal Mo
415eda1274 8003585: strength reduce or eliminate range checks for power-of-two sized arrays
Change ((x & m) u<= m) to always true and ((x & (m - 1)) u< m) into (m > 0)

Reviewed-by: kvn, roland
2016-01-19 14:52:33 +01:00
Tobias Hartmann
9e2947c3c6 Merge 2016-01-29 08:47:18 +01:00
Tobias Hartmann
832443d3b0 Merge 2016-01-28 09:49:17 +01:00
Zoltan Majo
477c40e4eb 8146478: Node limit exceeded with -XX:AllocateInstancePrefetchLines=1073741823
Constrain the set of accepted values for the Allocate{PrefetchLines, InstancePrefetchLines, PrefetchStepSize, PrefetchDistance} flags. Increase macro node expansion budget.

Reviewed-by: kvn
2016-01-28 08:33:45 +01:00
Roland Westrelin
dc88c70fbb 8147853: "assert(t->meet(t0) == t) failed: Not monotonic" with sun/util/calendar/zi/TestZoneInfo310.java
Type of counted loop Phi may be saturated before special code to handle counted loops kicks in

Reviewed-by: kvn
2016-01-21 18:04:14 +01:00
Volker Simonis
f3dca540d8 8145336: PPC64: fix string intrinsics after CompactStrings change
Reviewed-by: mdoerr, aph, kvn
2016-01-20 16:33:51 +01:00
Roland Westrelin
b6658d2b5f 8146999: hotspot/test/compiler/c2/8007294/Test8007294.java test nightly failure
Uncast() fails with CheckCastPP

Reviewed-by: kvn, thartmann
2016-01-18 21:34:28 +01:00
Coleen Phillimore
f8800caf4f Merge 2016-01-14 16:26:38 -05:00
Jesper Wilhelmsson
54d0181916 Merge 2016-01-14 17:36:29 +01: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
Tom Rodriguez
75901ea0cb 8147433: PrintNMethods no longer works with JVMCI
Reviewed-by: kvn, twisti
2016-01-18 11:07:40 -08: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
Tobias Hartmann
01a4b31e78 8144212: JDK 9 b93 breaks Apache Lucene due to compact strings
String compress/inflate intrinsics need to capture char and byte memory.

Reviewed-by: aph, roland, kvn
2016-01-18 08:34:14 +01:00
Vladimir Ivanov
28046ae321 8140001: _allocateInstance intrinsic does not throw InstantiationException for abstract classes and interfaces
Reviewed-by: kvn, shade
2016-01-15 21:56:40 +03:00
Roland Westrelin
3b0e147813 8146792: Predicate moved after partial peel may lead to broken graph
Partial peel can leave a pinned node between predicates and loop and prevent some loop predication

Reviewed-by: kvn
2016-01-11 16:02:42 +01:00
Tobias Hartmann
0e1b2cd198 8136469: OptimizeStringConcat fails on pre-sized StringBuilder shapes
Cut off dead if branch already during parsing (GVN).

Reviewed-by: shade, kvn, roland
2016-01-12 12:55:37 +01:00
Tobias Hartmann
69b52aa28b 8146629: Make phase->is_IterGVN() accessible from Node::Identity and Node::Value
Change arguments of Node::Identity() and Node::Value() from PhaseTransform* to PhaseGVN*.

Reviewed-by: kvn, roland
2016-01-12 12:55:09 +01:00
Roland Westrelin
eb654c02f4 Merge 2016-01-12 11:31:04 +01:00
Zoltan Majo
dfa6539a6a 8086053: Address inconsistencies regarding ZeroTLAB
Add zero-initialization to C1 for fast TLAB refills; strenghten C2 conditions for skipping zero-initialization.

Reviewed-by: kvn, thartmann
2016-01-12 09:19:09 +01:00
Roland Westrelin
631c143469 8145322: Code generated from unsafe loops can be slightly improved
Improve code generated from checkIndex and unsafe loops

Reviewed-by: kvn, thartmann
2016-01-11 16:33:27 +01:00
Christian Thalinger
a0861106e3 Merge 2016-01-11 17:11:57 -08:00
Joseph Provino
9288ff53e7 Merge 2016-01-07 21:10:28 +00:00
Goetz Lindenmaier
b26df6b69f 8146401: Clean up oop.hpp: add inline directives and fix header files
Reviewed-by: coleenp
2016-01-04 15:41:05 +01:00
Hui Shi
3767315e75 8144993: Elide redundant memory barrier after AllocationNode
Elide memory barrier for AllocationNode when it doesn't escape in initializer and has an MemBarRelease node at exit of initializer method.

Reviewed-by: aph, mdoerr, goetz, kvn, asiebenborn
2015-12-27 05:15:14 -08:00
Rachel Protacio
7973ef05b3 8141211: Convert TraceExceptions to Unified Logging
The -XX:+TraceExceptions flag has been updated to the unified logging framework, i.e. -Xlog:exceptions. The old flag, because it is product-level, has been aliased to the UL option.

Reviewed-by: dholmes, coleenp, mockner
2015-12-22 16:29:48 -05:00
Andrew Haley
c4a81b327d 8145096: Undefined behaviour in HotSpot
Fix some integer overflows

Reviewed-by: jrose, kvn, kbarrett, adinn, iklam
2015-12-21 16:58:29 +00:00
Kishor Kharbas
790f5bded4 8143925: Enhancing CounterMode.crypt() for AES
Add intrinsic for CounterMode.crypt() to leverage the parallel nature of AES in Counter(CTR) Mode.

Reviewed-by: kvn, ascarpino
2015-12-28 23:11:01 -08:00
Vivek R Deshpande
453650389f 8145688: Update for x86 pow in the math lib
Optimizes Math.pow() for 64 and 32 bit X86 architecture using Intel LIBM  implementation.

Reviewed-by: kvn
2015-12-23 21:09:50 -08:00
Tobias Hartmann
0f67aad7af 8144487: PhaseIdealLoop::build_and_optimize() must restore major_progress flag if skip_loop_opts is true
Restore the major_progress flag before calling igvn.optimize().

Reviewed-by: kvn
2015-12-21 11:34:58 +01:00
Tobias Hartmann
60da2fdb6f 8145754: PhaseIdealLoop::is_scaled_iv_plus_offset() does not match AddI
Is_scaled_iv_plus_offset() should handle AddI nodes with scaled iv as second input.

Reviewed-by: kvn
2015-12-21 10:14:26 +01:00
Jesper Wilhelmsson
40c4fe8573 Merge 2016-02-03 01:35:25 +01:00
Christian Thalinger
9e981ee107 Merge 2015-12-18 12:39:02 -08:00
Roland Westrelin
6961dea52a 8139771: Eliminating CastPP nodes at Phis when they all come from a unique input may cause crash
Lost dependency when CastPP at Phis are eliminate

Reviewed-by: kvn
2015-12-11 16:57:08 +01:00
Vladimir Ivanov
0e01750370 8133612: new clone logic added in 8042235 is missing from compiler intrinsics
Reviewed-by: roland
2015-12-18 20:23:28 +03:00
Vivek Deshpande
6a52e93df7 8143353: update for x86 sin and cos in the math lib
Optimize Math.sin() and cos() for 64 and 32 bit X86 architecture using Intel LIBM  implementation.

Reviewed-by: kvn
2016-01-08 21:06:50 -08:00
Martin Doerr
ad3414f985 8146612: C2: Precedence edges specification violated
Reviewed-by: kvn
2016-01-08 11:41:04 +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
Goetz Lindenmaier
6f27a97d77 8144466: ppc64: fix argument passing through opto stubs
Reviewed-by: kvn
2015-12-07 15:42:47 +01:00