209 Commits

Author SHA1 Message Date
Martin Doerr
b3bc0ad042 8155729: C2: Skip transformation of LoadConP for heap-based compressed oops
Reviewed-by: kvn
2016-04-29 15:23:15 +02:00
Vladimir Ivanov
d536ff4377 8155635: C2: Mixed unsafe accesses break alias analysis
Reviewed-by: jrose, kvn
2016-08-25 12:52:18 +03:00
Vivek Deshpande
82de2bf10e 8151988: Hotspot deoptimizes div/mod pair usage
Don't remove control edge of Mod node until DivMod node matching

Reviewed-by: kvn
2016-08-23 12:26:05 -07:00
Tobias Hartmann
d99ab903b7 8160425: Vectorization with signalling NaN returns wrong result
Should not use doubles/floats for vector constants in the C code.

Reviewed-by: kvn, vlivanov
2016-06-30 08:24:51 +02:00
Carsten Varming
cc10eca0b0 8159720: Failure of C2 compilation with tiered prevents some C1 compilations
If C2 fails to compile a method with tiered compilation, then it should mark the method as not compileable on the C2 tier only.

Reviewed-by: twisti, thartmann
2016-06-20 08:11:22 -04:00
Aleksey Shipilev
c6c73deca4 8157726: VarHandles/Unsafe should support sub-word atomic ops
Reviewed-by: psandoz, vlivanov, lagergren
2016-06-15 11:21:36 +03:00
Roland Westrelin
a1e5418d19 8154826: AArch64: take advantage better of base + shifted offset addressing mode
Reshape address subtree to fit aarch64 addressing mode

Reviewed-by: kvn, aph
2016-05-09 11:34:09 +02:00
Roland Westrelin
160798c7e7 8154943: AArch64: redundant address computation instructions with vectorization
Duplicated i2l nodes can be eliminated to optimize redundant address computations

Reviewed-by: kvn, dlong
2016-04-29 17:24:16 +02:00
Martin Doerr
8f2a47ba2e 8154836: VM crash due to "Base pointers must match"
Improve the handling of AddP nodes in final graph reshaping.

Reviewed-by: kvn, zmajo
2016-04-28 10:32:12 +02:00
Rickard Bäckman
b853eb7f5c 8151956: Support non-continuous CodeBlobs in HotSpot
Reviewed-by: iveresov, thartmann, simonis
2016-04-26 10:28:51 +02:00
Vladimir Ivanov
e17b342749 8134918: C2: Type speculation produces mismatched unsafe accesses
Reviewed-by: kvn
2016-04-25 18:36:27 +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
Aleksey Shipilev
0c43809cfe 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
2016-02-23 22:09:41 +03:00
Roland Westrelin
449c65bf50 8007986: GrowableArray should implement binary search
Binary search method for GrowableArray

Reviewed-by: vlivanov, jrose
2016-02-23 17:59:27 +01:00
Tom Rodriguez
75901ea0cb 8147433: PrintNMethods no longer works with JVMCI
Reviewed-by: kvn, twisti
2016-01-18 11:07:40 -08:00
Tobias Hartmann
ca56200977 6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
Emit CastII to make narrow ConvI2L dependent on the corresponding range check.

Reviewed-by: kvn, roland
2016-01-18 08:40:25 +01:00
Roland Westrelin
6961dea52a 8139771: Eliminating CastPP nodes at Phis when they all come from a unique input may cause crash
Lost dependency when CastPP at Phis are eliminate

Reviewed-by: kvn
2015-12-11 16:57:08 +01:00
Frederic Parain
ef800bd53f 8046936: JEP 270: Reserved Stack Areas for Critical Sections
Reviewed-by: acorn, dcubed
2015-12-11 09:07:07 -08:00
Zoltan Majo
1ca592e687 8129847: Compiling methods generated by Nashorn triggers high memory usage in C2
Add a new compiler phase, PhaseRenumberLive, that renumbers live nodes.

Reviewed-by: kvn, thartmann, vlivanov, shade
2015-12-01 08:05:10 +01:00
Nils Eliasson
a51ff63df7 Merge 2015-11-24 10:30:23 +01:00
Kim Barrett
e8c5bc2024 8143014: Access PtrQueue member offsets through derived classes
Moved accessors to derived classes and updated callers.

Reviewed-by: tschatzl, jmasa, twisti
2015-11-17 16:40:52 -05:00
Jesper Wilhelmsson
1a5787d42e Merge 2015-11-05 19:31:57 +01:00
Jan Civlin
0485593fbc 8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Emit vector conditional moves

Reviewed-by: kvn
2015-10-26 19:33:31 -07:00
Nils Eliasson
5a5faf94bf 8137167: JEP165: Compiler Control: Implementation task
Compiler Control JEP

Reviewed-by: roland, twisti, zmajo, simonis
2015-10-20 18:07:28 +02:00
Goetz Lindenmaier
83b3b21342 8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux
Reviewed-by: stuefe, coleenp, roland
2015-10-22 13:07:10 -04:00
Dean Long
344a9becee Merge 2015-10-17 19:40:30 -04:00
Jesper Wilhelmsson
e75e2e04f7 Merge 2015-10-07 01:03:24 +02:00
Christian Thalinger
16526e000e 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10:00
Zoltan Majo
fab17a4e67 8137160: Use Compile::live_nodes instead of Compile::unique() in appropriate places -- followup
Change two code locations to use live_nodes() instead of unique() for allocating memory. Adjust comments.

Reviewed-by: kvn
2015-10-08 12:10:19 +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
Nils Eliasson
2f9e32256d Merge 2015-11-13 13:31:48 +01:00
Christian Thalinger
6896030b96 8140424: don't prefix developer and notproduct flag variables with CONST_ in product builds
Reviewed-by: goetz, stefank
2015-11-11 16:32:17 -10:00
Roland Westrelin
fa6545ccc1 8137168: Replace IfNode with a new RangeCheckNode for range checks
New RangeCheckNode to enable optimization of explicit library level range checks

Reviewed-by: kvn, thartmann
2015-11-09 11:28:31 +01:00
Michael Berg
d49d1ea740 8134802: LCM register pressure scheduling
Calculate register pressure in a block to help instructions scheduling.

Reviewed-by: kvn, dlong
2015-09-16 13:16:17 -07:00
Vlad Ureche
645a55a98f 8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
2015-08-10 10:39:19 -07:00
Tobias Hartmann
e834a48100 8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space
Check for failed expansion of stub section in code buffer and bailout.

Reviewed-by: kvn, adinn, dlong, roland, twisti
2015-07-29 08:05:21 +02: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
Michael C Berg
4fca8dbb1f 8076276: Add support for AVX512
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -07:00
Jan Civlin
c7d33de202 8076284: Improve vectorization of parallel streams
Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.

Reviewed-by: kvn
2015-05-05 12:33:57 -07: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
Michael C Berg
9e55e44c85 8074981: Integer/FP scalar reduction optimization
Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.

Reviewed-by: kvn, twisti
2015-04-01 18:07:50 -07: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
Jesper Wilhelmsson
d7f5fccbc6 Merge 2015-02-16 21:24:39 +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
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
Roland Westrelin
186ca57447 8055530: assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empty()) failed: return value must be well defined
Concurrent class loading causes return phi to become top

Reviewed-by: kvn
2014-12-22 11:21:20 +01:00
Vladimir Ivanov
5a00d5f6b5 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
2014-11-24 07:29:03 -08:00
Tobias Hartmann
9adb455ba8 8065339: Failed compilation does not always trigger a JFR event 'CompilerFailure'
CompilerFailure JFR event should be triggered in ciEnv.

Reviewed-by: kvn
2014-11-24 08:48:15 +01:00
Albert Noll
6520320d1a 8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full
Use separate sweeper thread; enables more aggressive sweeping.

Reviewed-by: kvn, jrose
2014-10-24 14:25:46 +02:00