提交 a0792ca7 编写于 作者: R roland

8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1

Summary: bad assumption on graph shape in CastIINode::Value if that part of the graph is becoming dead.
Reviewed-by: kvn
上级 ca853f23
...@@ -462,7 +462,8 @@ const Type *CastIINode::Value(PhaseTransform *phase) const { ...@@ -462,7 +462,8 @@ const Type *CastIINode::Value(PhaseTransform *phase) const {
// Try to improve the type of the CastII if we recognize a CmpI/If // Try to improve the type of the CastII if we recognize a CmpI/If
// pattern. // pattern.
if (_carry_dependency) { if (_carry_dependency) {
if (in(0) != NULL && (in(0)->is_IfFalse() || in(0)->is_IfTrue())) { if (in(0) != NULL && in(0)->in(0) != NULL && in(0)->in(0)->is_If()) {
assert(in(0)->is_IfFalse() || in(0)->is_IfTrue(), "should be If proj");
Node* proj = in(0); Node* proj = in(0);
if (proj->in(0)->in(1)->is_Bool()) { if (proj->in(0)->in(1)->is_Bool()) {
Node* b = proj->in(0)->in(1); Node* b = proj->in(0)->in(1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册