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
Zoltan Majo
422cd18f23
8130832: Extend the WhiteBox API to provide information about the availability of compiler intrinsics
...
Add a new method, sun.hotspot.WhiteBox.isIntrinsicAvailable, that can be used to determine if an intrinsic is available.
Reviewed-by: kvn, jrose
2015-07-28 19:20:42 +02:00
Roland Westrelin
51ddedd5c7
Merge
2015-07-23 19:11:28 +02:00
Daniel D. Daugherty
d7f565d9eb
8075171: Contended Locking fast notify bucket
...
JEP-143/JDK-8073165 Contended Locking fast notify 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-07-21 07:28:37 -07:00
Vladimir Ivanov
92d8281194
8078629: VM should constant fold Unsafe.get*() loads from final fields
...
Reviewed-by: kvn, jrose, psandoz
2015-07-14 06:44:50 -07:00
Zoltan Majo
9245cdc214
8076112: Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
...
Annotate possibly intrinsified methods with @HotSpotIntrinsicCandidate. Add checks omitted by intrinsics to the library code. Add CheckIntrinsics flags to check consistency of intrinsics.
Reviewed-by: jrose, kvn, thartmann, vlivanov, abuckley, darcy, ascarpino, briangoetz, alanb, aph, dnsimon
2015-07-03 07:25:03 +02:00
Andrew Haley
917f70414f
Merge
2015-07-02 11:12:59 +01:00
Andrew Haley
52b991b411
8130150: Implement BigInteger.montgomeryMultiply intrinsic
...
Add montgomeryMultiply intrinsics
Reviewed-by: kvn
2015-06-16 17:31:53 +01:00
James Cheng
e2533553f6
8073583: C2 support for CRC32C on SPARC
...
Reviewed-by: jrose, kvn
2015-06-29 00:10:01 -07:00
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
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
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
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
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
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
Vladimir Ivanov
b64245d163
Merge
2015-03-20 20:32:07 +00:00
Vladimir Ivanov
879642dc68
8074548: Never-taken branches cause repeated deopts in MHs.GWT case
...
Reviewed-by: jrose, kvn
2015-03-20 11:41:34 -07:00
Vladimir Ivanov
43dbb43fb5
8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles
...
Reviewed-by: jrose, kvn
2015-03-20 11:41:34 -07:00
Roland Westrelin
0258ef4abc
8073866: Fix for 8064703 is not sufficient
...
Side effects between allocation and arraycopy can be reexecuted, unreachable uninitialized array can be seen by GCs
Reviewed-by: kvn, vlivanov
2015-03-16 12:24:06 +01:00
Roland Westrelin
25a0458907
8073796: assert(check_obj_alignment(result)) failed: address not aligned: ..
...
Arrays.copyOf intrinsic can deoptimize with uninitialized new array
Reviewed-by: kvn
2015-02-25 12:33:43 +01:00
Vladimir Ivanov
dad72d8a2b
Merge
2015-02-24 07:39:22 -08: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
Harold Seigel
ce4261471b
8068687: Remove meta-index support and cleanup hotspot code for rt.jar etc in non-modular jdk image
...
Remove the meta-index code and rt.jar code and comments
Reviewed-by: mchung, gtriantafill
2015-02-17 13:19:23 -05:00
Christian Tornqvist
094674666c
Merge
2015-02-13 05:17:41 -08:00
Paul Sandoz
c002e71565
8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
...
Reviewed-by: kvn, vlivanov
2015-02-10 21:32:05 +01:00
Roland Westrelin
e6ac3ca09e
8072016: Array copy may cause infinite cycle of deoptimization/compilation
...
Infinite deoptimization/recompilation cycles in case of arraycopy with tightly coupled allocation
Reviewed-by: kvn, vlivanov
2015-02-09 15:10:58 +01:00
Vladimir Ivanov
7227e9ba53
8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
...
Reviewed-by: jrose, kvn
2015-01-29 10:25:59 -08:00
Tobias Hartmann
21e2e5ffc0
8069580: String intrinsic related cleanups
...
Small cleanup of string intrinsic related code.
Reviewed-by: kvn, roland
2015-01-22 09:07:41 +01: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
Roland Westrelin
686e5a0a6f
8064703: crash running specjvm98's javac following 8060252
...
Uncommon trap between arraycopy and initialization may leave array initialized
Reviewed-by: kvn, vlivanov, goetz
2014-12-01 11:59:56 +01:00
Zoltan Majo
49b224a4f7
8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc)
...
In Parse::array_store_check(), add control edge FROM IfTrue branch of runtime type check of the destination array TO loading _element_klass from destination array.
Reviewed-by: kvn, roland, anoll
2014-11-06 09:40:58 +01:00
Roland Westrelin
79738069b0
8060252: JDK-7173584 compiler changes regress SPECjvm2008 on SPARC
...
Arraycopy code misses opportunities to optimize copies to just allocated array.
Reviewed-by: kvn
2014-10-20 22:53:37 +02:00
Vladimir Kozlov
74def215cd
8054492: Casting can result in redundant null checks in generated code
...
Add C2 intrinsic for Class.cast() method and force inline it too.
Reviewed-by: jrose, roland, drchase, iignatyev
2014-10-31 16:51:57 -07:00
Roland Westrelin
2d59d215e2
8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair
...
Use TypeAryPtr::INT type with offset 0 in inline_multiplyToLen().
Reviewed-by: kvn, iveresov
2014-09-09 15:47:18 -07:00
Vladimir Kozlov
98f413fa1f
Merge
2014-09-04 22:59:17 -07:00
Coleen Phillimore
73d759e533
8049105: Move array component mirror to instance of java/lang/Class (hotspot part 2)
...
This removes component mirrors from arrayKlass metadata and the C2 intrinsic for them.
Reviewed-by: kvn, twisti, mgerdin
2014-08-28 11:29:09 -04:00
Roland Westrelin
400f0f7a8f
8055153: nsk/stress/jck60/jck60014 crashes on sparc
...
Missing control for LoadRange and LoadKlass nodes created during arraycopy node expansion
Reviewed-by: kvn, iveresov
2014-08-19 17:23:38 +02:00
Vladimir Kozlov
ed5be50e9e
8054927: Missing MemNode::acquire ordering in some volatile Load nodes
...
Fixed memory ordering parameter and added missing barriers for volatile loads.
Reviewed-by: roland, iveresov
2014-08-13 13:05:04 -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
70a55eac34
8054033: Remove unused references to Compile*
...
Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
Roland Westrelin
fa27000f3c
8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
...
Missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov
2014-08-29 16:32:29 +02: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
Goetz Lindenmaier
25f33c005d
8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories
...
Introduce and clean up umbrella headers for the files in the cpu subdirectories.
Reviewed-by: lfoltan, coleenp, dholmes
2014-07-04 11:46:01 +02:00
James Cheng
395560c428
8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
...
Add C2 SHA intrinsics on SPARC
Reviewed-by: kvn, roland
2014-06-11 11:05:10 -07:00
Vladimir Kozlov
56cea022c9
8035605: Expand functionality of PredictedIntrinsicGenerator
...
Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.
Reviewed-by: roland
2014-06-10 12:28:06 -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 Ivanov
ea0470002e
8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
...
Reviewed-by: kvn, roland
2014-06-10 10:00:59 +00:00
Tobias Hartmann
2a0815a55e
8034812: remove IDX_INIT macro hack in Node class
...
The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.
Reviewed-by: kvn, jrose, iveresov, goetz
2014-06-02 08:07:29 +02:00
Albert Noll
a3b9ebba8d
8011646: SEGV in compiled code with loop predication
...
Remove control edge of load node to ensure that castPP removal sets the control edge correctly
Reviewed-by: kvn, roland
2014-05-30 06:50:38 +02:00