1384 Commits

Author SHA1 Message Date
Vladimir Ivanov
abebc2da5c 8150186: Folding mismatched accesses with @Stable is incorrect
Reviewed-by: kvn, jrose, shade
2016-02-26 01:58:26 +03:00
Aleksey Shipilev
0c43809cfe 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
2016-02-23 22:09:41 +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
Aleksey Shipilev
0e31a18fd1 8150180: String.value contents should be trusted
Reviewed-by: vlivanov, redestad, jrose, twisti
2016-02-23 17:55:20 +03:00
Roland Westrelin
98eca9ebe8 8148786: xml.tranform fails on x86-64
CCP computes wrong type for CountedLoop iv Phi

Reviewed-by: kvn
2016-02-17 10:59:04 +01:00
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
Andrew Dinn
78d37841ef 8087341: C2 doesn't optimize redundant memory operations with G1
Effect of memory barrier in post barrier is too wide

Reviewed-by: kvn, aph
2016-02-15 10:14:33 +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