Coleen Phillimore
7225e6008d
8182848: Some functions misplaced in debug.hpp
...
Moved to vmError.hpp,cpp where they seemed more appropriate
Reviewed-by: stefank, stuefe
2017-06-28 19:12:58 -04:00
Roland Westrelin
a9c2bc6517
8179678: ArrayCopy with same src and dst can cause incorrect execution or compiler crash
...
Replacing load on dst with load on src only valid if copy doesn't modify src element to load
Reviewed-by: kvn, thartmann
2017-06-02 09:08:34 +02:00
Tobias Hartmann
d3baf34118
8180575: Null pointer dereference in LoadNode::Identity()
...
Fixed a missing null check on the return value of AddPNode::Ideal_base_and_offset() found by Parfait.
Reviewed-by: kvn
2017-05-22 09:23:59 +02:00
Tobias Hartmann
66fb50e7a2
8180617: Null pointer dereference in InitializeNode::complete_stores
...
Fixed a missing null check on the return value of InitializeNode::allocation() found by Parfait.
Reviewed-by: zmajo
2017-05-22 09:16:46 +02:00
Igor Veresov
34dec39bc2
8178047: Aliasing problem with raw memory accesses
...
Require equal bases when unaliasing offsets for raw accesses
Reviewed-by: kvn
2017-04-19 18:02:26 -07:00
Goetz Lindenmaier
da8430daf1
8166561: [s390] Adaptions needed for s390 port in C1 and C2
...
Reviewed-by: kvn
2016-09-22 18:29:15 +02:00
Tobias Hartmann
913622a641
8038348: Instance field load is replaced by wrong data Phi
...
Store additional information in PhiNodes corresponding to known instance field values to avoid incorrect reusage.
Reviewed-by: kvn, vlivanov
2016-08-23 13:44:26 +02:00
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