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
Yuri Gaevsky
cc3c656cf1
8025580: Temporary flags: UseNewReflection and ReflectionWrapResolutionErrors
...
The fix removes all UseNewReflection/ReflectionWrapResolutionErrors occurrences/logic and adds them into the list of obsolete_jvm_flags in arguments.cpp.
Reviewed-by: coleenp, hseigel
2014-05-15 17:38:50 -04:00
Tobias Hartmann
ded0d16e25
8042052: assert(t != NULL) failed: must set before get
...
Added missing call to _gvn.transform to make sure the type of the PhiNode is recorded in the gvn.
Reviewed-by: kvn
2014-05-05 15:10:43 +02:00
Niclas Adlertz
922879d58e
8029302: Performance regression in Math.pow intrinsic
...
Added special case for x^y where y == 2
Reviewed-by: kvn, roland
2014-04-25 12:48:34 +02:00
Roland Westrelin
eb8588549a
8007988: PrintInlining output is inconsistent with incremental inlining
...
Fix duplicate and conflicting inlining output
Reviewed-by: kvn, vlivanov
2014-04-09 09:17:43 +02:00
Morris Meyer
6db303a301
8001532: C2 node files refactoring
...
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Roland Westrelin
fa3b0a8f47
8031755: Type speculation should be used to optimize explicit null checks
...
Feed profiling data about reference nullness to type speculation.
Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02:00
Poonam Bajaj
1516f610a1
6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems
...
Native pointers less than 64 bits wide should be extended as an unsigned number.
Reviewed-by: kvn, kevinw
2014-03-24 08:43:10 -07:00
Dmitry Samersoff
4482a30c61
8036102: part of the fix for 6498581 lost in mismerge
...
Restore code lost in mis-merge
Reviewed-by: dcubed
2014-03-01 09:56:15 -08: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
Goetz Lindenmaier
a5520f1c94
8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition
...
Reviewed-by: kvn
2014-02-20 11:05:12 +01:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08:00
Martin Doerr
0306737032
8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes
...
Reviewed-by: dholmes, kvn
2014-01-16 14:25:51 +01:00