Vladimir Ivanov
4c31d5f745
8160360: Mismatched field loads are folded in LoadNode::Value
...
Reviewed-by: kvn, thartmann
2016-07-06 15:05:28 +03:00
Tobias Hartmann
35f9db149b
8156760: VM crashes if -XX:-ReduceInitialCardMarks is set
...
Fixed several compiler crashes with disabled ReduceInitialCardMarks.
Reviewed-by: roland, minqi, dlong, tschatzl, kvn
2016-06-02 08:46:52 +02:00
Tobias Hartmann
8adbc20c87
8155241: Crash with assert in Xcomp mode and with disabled ReduceBulkZeroing
...
We should not assume that a CloneBasic arraycopy sets array initialization to complete.
Reviewed-by: kvn, roland
2016-05-12 08:25:42 +02:00
Alejandro Murillo
f9426642c6
Merge
2016-04-22 01:04:00 -07:00
Bharadwaj Yadavalli
b2ead5ac2d
Merge
2016-04-12 14:17:42 -04:00
Daniel D. Daugherty
4397e85e26
Merge
2016-04-07 09:47:48 -07:00
Vladimir Ivanov
7fc81004e3
8152590: C2: @Stable support doesn't always work w/ incremental inlining
...
Reviewed-by: kvn
2016-04-11 21:42:55 +03:00
Joseph Provino
5cef85023b
8132524: Missing includes to resourceArea.hpp
...
Files that use ResourceMark are missing the include of resourceArea.hpp
Reviewed-by: tschatzl, jwilhelm
2016-04-04 12:57:48 -04:00
Ivan Krylov
429b1c80a1
8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
...
Adds c1 & c2 x86 intrinsics for j.l.Runtime.onSpinWait() that utilize the PAUSE instruction
Co-authored-by: Yuri Gaevsky <ygaevsky@azul.com>
Reviewed-by: iveresov, kvn
2016-03-30 17:04:14 +02:00
Vladimir Ivanov
d39c84770b
8152972: C2 crashes with SIGSEGV in LoadNode::make
...
Reviewed-by: kvn
2016-03-29 21:33:26 +03:00
Vladimir Ivanov
661796fe3f
8152179: C2: Folding of unsigned loads is broken w/ @Stable
...
Reviewed-by: jrose, kvn
2016-03-28 13:49:34 +03:00
Vladimir Ivanov
3d03610bf4
8152773: C2: LoadNode properties aren't preserved when converting between signed/unsigned variants
...
Reviewed-by: jrose, kvn
2016-03-28 13:49:34 +03:00
Aleksey Shipilev
103aff334f
8146801: Allocating short arrays of non-constant size is slow
...
Reviewed-by: kvn, twisti, vlivanov
2016-03-04 01:30:11 +03:00
Vladimir Ivanov
a1b61d2827
8150933: System::arraycopy intrinsic doesn't mark mismatched loads
...
Reviewed-by: kvn, shade
2016-03-01 20:06:47 +03:00
Vladimir Ivanov
bb51ea7a06
8150543: Mismatched access detection is inaccurate
...
Reviewed-by: kvn, shade
2016-02-29 23:46:55 +03:00
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
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
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
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
Coleen Phillimore
200784d505
8132051: Better byte behavior
...
Co-authored-by: Roland Westerlin <roland.westerlin@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: bdelsart, roland, kvn, jrose, ahgross
2015-10-13 18:13:34 -04:00
Roland Westrelin
c18a26c573
8142386: Octane crashes with assert(is_Load())
...
Unsafe access to an array is wrongly marked as mismatched
Reviewed-by: vlivanov, thartmann
2015-11-17 12:00:16 +01:00
Roland Westrelin
45b3ce816a
8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI
...
Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods
Reviewed-by: kvn, thartmann
2015-10-28 10:20:33 +01:00
Dean Long
42c3dcab55
8140267: assert(is_native_ptr || alias_type->adr_type() == TypeOopPtr::BOTTOM || alias_type->field() != __null || alias_type->element() != __null) failed: field, array element or unknown
...
Back out 8136473
Reviewed-by: twisti
2015-10-21 18:05:45 -04:00
Roland Westrelin
096fa934a8
8136473: failed: no mismatched stores, except on raw memory: StoreB StoreI
...
Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods
Reviewed-by: kvn, thartmann
2015-10-16 16:53:02 +02:00
Jesper Wilhelmsson
e75e2e04f7
Merge
2015-10-07 01:03:24 +02:00
David Lindholm
1e71f67736
8080775: Better argument formatting for assert() and friends
...
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Hui Shi
0f4b248b18
8136596: Remove aarch64: MemBarRelease when final field's allocation is NoEscape or ArgEscape
...
Elide MemBar when AllocateNode _is_non_escaping
Reviewed-by: kvn, roland
2015-09-21 10:51:33 +02:00
Aleksey Shipilev
7c7692856a
8134758: Final String field values should be trusted as stable
...
Reviewed-by: kvn, thartmann
2015-09-01 19:48:10 +03:00
Roland Westrelin
96b004cd82
8080289: Intermediate writes in a loop not eliminated by optimizer
...
Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov
2015-07-29 17:25:04 +02:00
Roland Westrelin
0baf2f7e8a
8130847: Cloned object's fields observed as null after C2 escape analysis
...
Eliminated instance/array written to by an array copy variant must be correctly initialized when reallocated at a deopt
Reviewed-by: kvn, vlivanov
2015-08-15 02:54:18 +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
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
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
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
Stefan Karlsson
4913ad5d7d
8072911: Remove includes of oop.inline.hpp from .hpp files
...
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Zoltan Majo
eb5be4c2fe
8066312: Add new Node* Node::find_out(int opc) method
...
Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
2015-01-19 09:32:40 +01:00
Vladimir Ivanov
5fd1e54fc1
8067338: compiler/debug/TraceIterativeGVN.java segfaults
...
Reviewed-by: kvn
2014-12-19 16:42:40 -08:00
Vladimir Ivanov
f3d9096e4d
8062258: compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN
...
Reviewed-by: kvn
2014-11-17 14:02:45 -08: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
Vladimir Ivanov
83181efbeb
8058847: C2: EliminateAutoBox regression after 8042786
...
Reviewed-by: kvn, roland
2014-10-24 09:13:12 -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
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
Tobias Hartmann
11eb4553c9
8040213: C2 does not put all modified nodes on IGVN worklist
...
Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
2014-07-25 10:06:17 +02: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
David Chase
305ec3bd3f
8037816: Fix for 8036122 breaks build with Xcode5/clang
...
Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Tobias Hartmann
85296fec28
8036851: volatile double accesses are not explicitly atomic in C2
...
The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.
Reviewed-by: twisti, kvn
2014-05-06 09:17:57 +02:00
Vladimir Kozlov
c909ac41de
8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
...
Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.
Reviewed-by: twisti, iveresov
2014-05-02 16:44:54 -07: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