52 Commits

Author SHA1 Message Date
Erik Österlund
432a71e564 8198286: Direct memory accessors in typeArrayOop.hpp should use Access API
Reviewed-by: pliden, rkennke
2018-02-22 10:39:42 +01:00
Lois Foltan
b085ebe7b7 8196884: VS2017 Multiple Type Cast Conversion Compilation Errors
Change the type of symbolic constant badAddressVal and introduce specific casts to fix multiple type cast conversion compilation errors.

Reviewed-by: coleenp, kbarrett
2018-02-20 07:46:40 -05:00
Tobias Hartmann
01353e7787 8197828: Null pointer dereference in MultiNode::proj_out_or_null
Added a null check for the return value of AllocateNode::initialization().

Reviewed-by: kvn, shade, dlong
2018-02-15 09:17:56 +01:00
Roland Westrelin
4f8c5b6949 8197563: assert(is_Loop()) crash in PhaseIdealLoop::try_move_store_before_loop()
Don't move store out of the loop if head is not a LoopNode.

Reviewed-by: kvn, thartmann
2018-02-13 16:57:01 +01:00
Erik Österlund
0fb7dffb83 8195103: Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy
Reviewed-by: kbarrett, tschatzl
2018-01-10 22:48:27 +01:00
Jesper Wilhelmsson
44ab590f44 Merge 2018-02-05 23:12:03 +01:00
Dean Long
672ddf57fc 8194987: Null pointer dereference in escape.cpp related to Node::find_out_with()
Reviewed-by: kvn
2018-01-31 16:09:52 -08:00
Dean Long
b1723061be 8194984: 9 Null pointer dereference defect groups related to ciMethodData::bci_to_data()
Reviewed-by: kvn
2018-01-31 16:09:29 -08:00
Roland Westrelin
d244b3ccd1 8196296: Lucene test crashes C2 compilation
Prevent merging of back to back ifs if one is a counted loop end.

Reviewed-by: kvn, thartmann
2018-01-30 09:08:44 +01:00
Rickard Bäckman
9ba6ab25e4 8191915: JCK tests produce incorrect results with C2
Reviewed-by: thartmann, vlivanov, goetz
2018-01-18 19:21:11 +01:00
Dean Long
745d8e3815 8194982: 2 Null pointer dereference defect groups related to ProjNode::is_uncommon_trap_if_pattern()
Reviewed-by: kvn
2018-01-18 10:05:32 -08:00
Dean Long
4f496a5786 8194992: Null pointer dereference in MultiNode::proj_out related to loopexit()
Reviewed-by: kvn, thartmann
2018-01-18 10:05:32 -08:00
Dean Long
4714dab4cb 8194988: 8 Null pointer dereference defect groups related to MultiNode::proj_out()
Reviewed-by: kvn
2018-01-17 14:25:47 -08:00
Roland Westrelin
b9cffe68c2 8194993: Loop Strip Mining has some leftover debugging code
Removed debugging code.

Reviewed-by: thartmann
2018-01-15 09:21:49 +01:00
Roland Westrelin
2067aa56eb 8193597: sun/nio/cs/TestStringCoding.java fails intermittently with getBytes(csn) failed -> GBK
Should not change loop limit check of outer loop.

Reviewed-by: thartmann
2018-01-15 09:19:53 +01:00
Roland Westrelin
bf92da2c82 8194914: Compilation fails with "node not on backedge" in OuterStripMinedLoopNode::adjust_strip_mined_loop
Modified assert which is too strong.

Reviewed-by: thartmann
2018-01-15 09:17:25 +01:00
Jesper Wilhelmsson
8650bbcf47 Merge 2017-12-20 20:55:07 +01:00
Vivek Deshpande
25e03a8e65 8190934: Regressions on Haswell Xeon due to JDK-8178811
Reviewed-by: neliasso, kvn
2017-12-15 10:44:06 -08:00
Roland Westrelin
d2db163edb 8193518: C2: Vector registers sometimes corrupted at safepoint
Reviewed-by: neliasso, thartmann, kvn
2017-12-15 10:26:45 -08:00
Vladimir Ivanov
0c05e5a478 8190869: C2: missing strength reduction of Math.pow(x, 2.0D) to x*x
Reviewed-by: kvn
2017-12-13 19:32:48 +03:00
Razvan A Lupusoru
b96c85c640 8192846: Support cmov vectorization for float
Reviewed-by: kvn
2017-12-05 09:49:23 -08:00
Roland Westrelin
8b4b92c1a1 8191950: assertion failed: no insertions allowed
Check for dead loops before incremental inlining.

Reviewed-by: thartmann
2017-12-02 13:50:04 +01:00
Roland Westrelin
f570e1bc27 8192762: LoopNode::verify_strip_mined() fails with "assert failed: only phis"
Don't clone Phi to uncommon calls

Reviewed-by: kvn
2017-12-01 16:20:18 -08:00
Stefan Karlsson
58dd5210ec 8192061: Clean up allocation.inline.hpp includes
Reviewed-by: eosterlund, coleenp
2017-11-28 21:43:45 +01:00
Roland Westrelin
386e258e20 8186027: C2: loop strip mining
Reviewed-by: kvn, neliasso
2017-11-28 11:59:16 +01:00
Paul Sandoz
e55a05957d 8186209: Tool support for ConstantDynamic
8186046: Minimal ConstantDynamic support
8190972: Ensure that AOT/Graal filters out class files containing CONSTANT_Dynamic ahead of full AOT support

Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: acorn, coleenp, kvn
2017-09-08 10:46:46 -07:00
Jesper Wilhelmsson
d679703c0b Merge 2018-01-30 16:41:40 +01:00
Rickard Bäckman
6f1c27a2c9 8191915: JCK tests produce incorrect results with C2
Reviewed-by: thartmann, vlivanov, goetz
2018-01-18 19:21:11 +01:00
Yang Zhang
27d7667a34 8181633: Vectorization fails for some multiplication with constant cases
Reviewed-by: kvn
2017-06-20 16:25:53 +08:00
Roland Westrelin
eb10d407d3 8191887: assert(b->is_Bool()) in PhaseIdealLoop::clone_iff() due to Opaque4 node
Add special handling for graph shape If->Opaque4->Bool->CmpP

Reviewed-by: kvn
2017-11-27 16:05:11 -08:00
Roland Westrelin
1c25161036 8191153: assert(u_ctrl != blk1 && u_ctrl != blk2) failed: won't converge
Relax assert

Reviewed-by: kvn
2017-11-27 10:44:19 -08:00
Daniel D. Daugherty
0dff96ff0b 8167108: inconsistent handling of SR_lock can lead to crashes
Add Thread Safe Memory Reclamation (Thread-SMR) mechanism.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Robbin Ehn <robbin.ehn@oracle.com>
Reviewed-by: coleenp, dcubed, dholmes, eosterlund, gthornbr, kbarrett, rehn, sspitsyn, stefank
2017-11-22 17:54:50 -08:00
Dean Long
a7c84b45b4 8191688: Assert failed in > 200 tests: failed dependencies, but counter didn't change
Reviewed-by: kvn
2017-11-22 09:27:06 -08:00
Razvan Lupusoru
9b6a428212 8190800: Support vectorization of Math.sqrt() on floats
Reviewed-by: vlivanov, kvn
2017-11-22 14:43:37 +03:00
Nils Eliasson
fc7955d5fc 8160548: Inconsistent inlining behavior with CompileOnly
Can_be_compiled should not affect inlining

Reviewed-by: thartmann
2017-11-20 09:50:27 +01:00
Roland Westrelin
002aff0a75 8190375: Java Crash in JavaBug.formatPos(I)Ljava/lang/String
Skip the logic that set the value of the Phi iv if the exit condition is "not equal"

Reviewed-by: thartmann, mdoerr
2017-11-13 14:53:28 -05:00
Robbin Ehn
104ecb2dd1 8189941: Implementation JEP 312: Thread-local handshake
Introduce a way to execute a callback on threads without performing a global VM safepoint. Make it both possible and cheap to stop individual threads and not just all threads or none.

Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Reviewed-by: mdoerr, neliasso, acorn, aph, coleenp, dholmes
2017-08-31 10:00:28 +02:00
Roland Westrelin
85d2a057a4 8186125: "DU iteration must converge quickly" assert in split if with unsafe accesses
Added missing checks for Opaque4Node in split-if code

Reviewed-by: kvn
2017-11-09 12:43:13 -08:00
Coleen Phillimore
e908052a71 8189610: Reconcile jvm.h and all jvm_md.h between java.base and hotspot
Removed hotspot version of jvm*h and jni*h files.

Reviewed-by: ihse, mchung, dholmes
2017-10-31 11:55:09 -04:00
Vladimir Kozlov
0bf8a0fc34 8189064: Crash with compiler/codegen/*Vect.java on Solaris-sparc
Unconditionally call cl->mark_loop_vectorized() when vectors are generated

Reviewed-by: thartmann
2017-10-27 01:09:57 -07:00
Tobias Hartmann
f8843b83da 8188785: CCP sets invalid type for java mirror load
Added special case for java mirror load to propagate correct type information.

Reviewed-by: kvn
2017-10-25 08:37:41 +02:00
Roland Westrelin
50c759f20e 8188223: IfNode::range_check_trap_proj() should handler dying subgraph with single if proj
Reviewed-by: kvn
2017-10-18 16:06:39 +02:00
Coleen Phillimore
39b068db11 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
With the new template functions these are unnecessary.

Reviewed-by: kbarrett, dholmes, eosterlund
2017-10-16 22:36:06 -04:00
Tobias Hartmann
34622112b6 8189067: SuperWord optimization crashes with "assert(out == prev || prev == __null) failed: no branches off of store slice"
Only move the store if the LCA of all users is outside of the loop. Re-enable UseSubwordForMaxVector.

Reviewed-by: kvn, roland
2017-10-13 14:02:01 +02:00
Zhongwei Yao
2990ce8012 8187601: Unrolling more when SLP auto-vectorization failed
Reviewed-by: kvn
2017-09-20 18:30:32 +08:00
Roland Westrelin
844e594fec 8187822: C2 conditonal move optimization might create broken graph
Reviewed-by: kvn
2017-09-27 16:17:47 +02:00
Dmitrij Pochepko
949f677957 8187684: Intrinsify Math.multiplyHigh(long, long)
Reviewed-by: kvn, aph, lucy
2017-10-04 11:52:07 -07:00
Michihiro Horie
7b17b2d2a3 8188139: PPC64: Superword Level Parallelization with VSX
Reviewed-by: kvn, gromero
2017-10-03 17:37:15 -07:00
Coleen Phillimore
73a801bc43 8186777: Make Klass::_java_mirror an OopHandle
Add indirection for fetching mirror so that GC doesn't have to follow CLD::_klasses

Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Reviewed-by: hseigel, thartmann, eosterlund, stefank
2017-10-03 16:42:04 -04:00
Tobias Hartmann
e840fdf694 8187780: VM crashes while generating replay compilation file
Fixed two problems with generation of replay file.

Reviewed-by: kvn
2017-09-28 11:02:55 +02:00