Vladimir Ivanov
90a42c2491
8074551: GWT can be marked non-compilable due to deopt count pollution
...
Reviewed-by: kvn
2015-06-11 14:19:40 +03:00
Vladimir Kozlov
d62598136b
8129094: assert(is_java_primitive(bt)) failed: only primitive type vectors
...
Ignored non-primitive type memory operation regardless its (or its inputs) control.
Reviewed-by: roland, mcberg
2015-06-18 11:09:29 -07:00
Anthony Scarpino
c4c528df14
8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
...
Reviewed-by: kvn, jrose
2015-06-17 17:48:25 -07: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
Coleen Phillimore
97f69e8b42
Merge
2015-06-19 13:03:58 +00:00
Andrew Haley
b387838cea
8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
...
Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86
Reviewed-by: tschatzl
2015-06-19 09:41:50 +02: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
Roland Westrelin
fd10da6423
8086016: closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java is crashing
...
Trying to transform ArrayCopyNode in dying part of the graph
Reviewed-by: kvn
2015-06-09 12:09:03 +02:00
Roland Westrelin
d7522fb084
8086046: escape analysis generates incorrect code as of B67
...
Load bypasses arraycopy that sets the value after the ArrayCopyNode is expanded
Reviewed-by: kvn
2015-06-12 14:10:17 +02:00
Roland Westrelin
513d9a5ede
8085832: Optimize main and post loop out when pre loop is found empty
...
Eliminate main loop and post loop if pre loop becomes empty
Reviewed-by: kvn, mcberg
2015-05-12 14:26:31 +02:00
Roland Westrelin
197ecf9bc1
8081823: C2 performs unsigned comparison against -1
...
X <= 0 || x > 0 wrongly folded as (x-1) >u -1
Reviewed-by: kvn, vlivanov
2015-06-08 18:35:17 +02:00
Roland Westrelin
0fb315714c
8078866: compiler/eliminateAutobox/6934604/TestIntBoxing.java assert(p_f->Opcode() == Op_IfFalse) failed
...
Bail out from range check elimination if pre loop is not found
Reviewed-by: kvn
2015-06-04 16:19:22 +02: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
Roland Westrelin
81b0f156c8
8080976: Unexpected AIOOB thrown from 1.9.0-ea-b64 on (regression)
...
Loop variant use in reduction should prevent vectorization
Reviewed-by: kvn, mcberg
2015-05-29 16:09:16 +02:00
Roland Westrelin
0296c2894b
8080699: Assert failed: Not a Java pointer in JCK test
...
Eliminated arraycopy node still reachable through exception edges
Reviewed-by: kvn
2015-05-22 09:14:18 +02:00
Tobias Hartmann
068d5d78b1
Merge
2015-05-22 09:50:32 +02:00
Roland Westrelin
59618d7d03
Merge
2015-05-21 20:29:09 +02:00
Andreas Eriksson
346fb9ffa7
8060036: C2: CmpU nodes can end up with wrong type information
...
CmpU needs to be reprocessed by CCP when an AddI/SubI input's input type change
Reviewed-by: mcberg, kvn, roland
2015-05-21 16:49:11 +02:00
Roland Westrelin
a3c77df5f1
8077504: Unsafe load can loose control dependency and cause crash
...
Node::depends_only_on_test() should return false for Unsafe loads
Reviewed-by: kvn, adinn
2015-05-21 13:54:07 +02:00
Jesper Wilhelmsson
f64e5038a4
Merge
2015-05-18 17:09:47 +02:00
Vladimir Ivanov
18f7135255
8079135: C2 disables some optimizations when a large number of unique nodes exist
...
Reviewed-by: kvn
2015-05-15 19:21:46 +03:00
Roland Westrelin
be86925c01
8078436: java/util/stream/boottest/java/util/stream/UnorderedTest.java crashed with an assert in ifnode.cpp
...
Bad assert in fold_compares code
Reviewed-by: kvn, vlivanov
2015-05-12 09:41:12 +02:00
Roland Westrelin
a9cdbd0407
8076188: Optimize arraycopy out for non escaping destination
...
If the destination of an arraycopy is non escaping, the arraycopy may be optimized out
Reviewed-by: kvn, vlivanov
2015-05-12 10:27:50 +02:00
Tobias Hartmann
005adcec93
Merge
2015-05-11 07:58:02 +02:00
Tobias Hartmann
e113dfc652
8079343: Crash in PhaseIdealLoop with "assert(!had_error) failed: bad dominance"
...
C2 should not try to vectorize loops with loop variant vector base address.
Reviewed-by: kvn
2015-05-11 07:44:46 +02:00
Michael C Berg
4fca8dbb1f
8076276: Add support for AVX512
...
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -07:00
Tobias Hartmann
43a5abc876
8078497: C2's superword optimization causes unaligned memory accesses
...
Prevent vectorization of memory operations with different invariant offsets if unaligned memory accesses are not allowed.
Reviewed-by: kvn
2015-05-08 12:19:17 +02: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
Andreas Woess
5c13c285f7
8075492: adopt recent IGV
...
Adopted recent sources, updated README, added build and run instructions; ignored IGV build files in Mercurial; adapted HotSpot Ideal graph printer to current IGV's data format schema; reintroduced control flow window and basic block layout
Co-authored-by: Bernhard Urban <bernhard.urban@oracle.com>
Co-authored-by: Christian Haeubl <christian.haeubl@oracle.com>
Co-authored-by: Doug Simon <doug.simon@oracle.com>
Co-authored-by: Gilles Duboscq <gilles.duboscq@oracle.com>
Co-authored-by: Lukas Stadler <lukas.stadler@oracle.com>
Co-authored-by: Peter Hofer <peter.hofer@jku.at>
Co-authored-by: Roland Schatz <roland.schatz@oracle.com>
Co-authored-by: Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: kvn, roland
2015-05-05 13:06:10 +02:00
Michael C Berg
a880f3d139
8078563: Restrict reduction optimization
...
Reviewed-by: kvn, twisti
2015-04-29 15:34:04 -07:00
Bharadwaj Yadavalli
f8d0a6ff28
Merge
2015-04-30 18:14:58 -04:00
Roland Westrelin
3cdae26a75
8078426: mb/jvm/compiler/InterfaceCalls/testAC2 - assert(predicate_proj == 0L) failed: only one predicate entry expected
...
Split if finds predicates on several incoming paths when unswitched's loops are optimized out
Reviewed-by: kvn
2015-04-29 14:43:12 -07:00
Severin Gehwolf
add46c476a
8078666: JVM fastdebug build compiled with GCC 5 asserts with "widen increases"
...
Do the math on the unsigned type where overflows are well defined
Reviewed-by: kvn, aph
2015-04-29 12:23:48 -07:00
Zoltan Majo
a452b030ce
8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
...
Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
2015-04-27 10:49:43 +02:00
Aleksey Shipilev
dc67bb0a0e
8076987: C1 should support conditional card marks (UseCondCardMark)
...
Reviewed-by: iveresov, roland
2015-04-22 19:10:03 +03:00
Daniel D. Daugherty
9b1474b512
Merge
2015-07-02 14:20:36 -07:00
Bertrand Delsart
5aec2dc9fc
8087333: Optionally Pre-Generate the HotSpot Template Interpreter
...
Optional support for pregenerated template interpreter
Reviewed-by: coleenp, dholmes, kvn
2015-07-01 10:53:26 +02:00
Calvin Cheung
7bb3af5d16
Merge
2015-04-17 14:37:20 -07:00
Daniel D. Daugherty
884f0d320f
8073165: Contended Locking fast exit bucket
...
JEP-143/JDK-8073165 Contended Locking fast exit bucket
Co-authored-by: Dave Dice <dave.dice@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Reviewed-by: dholmes, acorn, dice, dcubed
2015-04-16 08:23:26 -07:00
Roland Westrelin
cb7a08139b
8074676: java.lang.invoke.PermuteArgsTest.java fails with "assert(is_Initialize()) failed: invalid node class"
...
After guards in Arrays.copyOf() intrinsic, control may become top
Reviewed-by: kvn, vlivanov
2015-04-15 11:01:56 +02:00
Staffan Larsen
47d774ab34
8077364: "if( !this )" construct prevents build on Xcode 6.3
...
Reviewed-by: stefank, simonis
2015-04-15 09:34:46 +02: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
Vladimir Kozlov
81bb7521bd
8076523: assert(((ABS(iv_adjustment_in_bytes) % elt_size) == 0)) fails in superword.cpp
...
Check that offset % mem_oper_size == 0 when alignment is verified during vectorization.
Reviewed-by: iveresov
2015-04-02 17:16:39 -07:00
Roland Westrelin
05ea4dbf1e
8069191: moving predicate out of loops may cause array accesses to bypass null check
...
Remove CastPP nodes only during final graph reshape
Reviewed-by: kvn, jrose
2015-03-24 10:25:09 +01:00
Roland Westrelin
ef217cba65
8076094: CheckCastPPNode::Value() has outdated logic for constants
...
Outdated logic for constants in CheckCastPPNode::Value()
Reviewed-by: kvn, vlivanov
2015-03-23 14:21:17 +01: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
Roland Westrelin
7c5d30b0e3
8075587: Compilation of constant array containing different sub classes crashes the JVM
...
Meet of 2 constant arrays result in bottom
Reviewed-by: kvn
2015-03-27 13:47:33 +01:00
Andrew Haley
1dfbc44c1f
8026049: (bf) Intrinsify ByteBuffer.put{Int, Double, Float, ...} methods
...
Use unaligned Unsafe loads and stores for ByteBuffer access on platforms which support unaligned access. Add intrinsics for Unsafe.{get,put}-X-Unaligned methods.
Reviewed-by: dholmes, jrose, psandoz, kvn
2015-03-31 12:31:18 -07:00
Roland Westrelin
61aa1cfdef
8075921: assert assert(allocx == alloc) fails in library_call.cpp
...
Control becomes top after arraycopy guards and confuses tighly coupled allocation logic
Reviewed-by: kvn, vlivanov
2015-03-27 08:58:45 +01:00
Roland Westrelin
1c38036fd8
8075922: assert(t == t_no_spec) fails in phaseX.cpp
...
Subgraph becomes dead RegionNode::Ideal() but is not destroyed
Reviewed-by: kvn, vlivanov
2015-03-25 14:25:53 +01:00