Tobias Hartmann
3e59334eef
8177095: Range check dependent CastII/ConvI2L is prematurely eliminated
...
Disabled narrowing of range check dependent CastIIs (either through the CastII(AddI) optimization or through CastIINode::Ideal).
Reviewed-by: vlivanov, kvn
2017-03-27 10:12:29 +02:00
Rahul Raghavan
0520f59743
8165661: SPECjvm2008-crypto.signverify regression in 9-b105
...
Reverted part change done earlier for 8145322 - removed the (CastII (AddI x const)) -> (AddI (CastII x) const) transformation
Reviewed-by: roland, kvn, thartmann
2016-10-21 13:07:32 -07:00
Roland Westrelin
0cd6070d58
8149797: Compilation fails with "assert(in_hash) failed: node should be in igvn hash table"
...
Node replaced by dominating dead cast during parsing
Reviewed-by: kvn
2016-02-15 15:15:56 +01:00
Roland Westrelin
9d5f03332e
8143542: C2 doesn't eliminate identical checks
...
Two identical Ifs back to back can be merged
Reviewed-by: kvn
2016-02-03 12:36:18 +01: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
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
Roland Westrelin
631c143469
8145322: Code generated from unsafe loops can be slightly improved
...
Improve code generated from checkIndex and unsafe loops
Reviewed-by: kvn, thartmann
2016-01-11 16:33:27 +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
David Lindholm
1e71f67736
8080775: Better argument formatting for assert() and friends
...
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +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
Roland Westrelin
ef217cba65
8076094: CheckCastPPNode::Value() has outdated logic for constants
...
Outdated logic for constants in CheckCastPPNode::Value()
Reviewed-by: kvn, vlivanov
2015-03-23 14:21:17 +01:00
Roland Westrelin
5974dd3005
8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
...
Bad assumption on graph shape in CastIINode::Value if that part of the graph is becoming dead.
Reviewed-by: kvn
2014-12-05 18:03:15 +01:00
Roland Westrelin
4bc2edad15
8054478: C2: Incorrectly compiled char[] array access crashes JVM
...
Dead backbranch in main loop results in erroneous array access
Reviewed-by: kvn, iveresov
2014-11-13 09:19:46 +01: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
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