Skip to content
Permalink
Browse files

8250745: assert(eval_map.contains(n)) failed: absent

Reviewed-by: vlivanov, kvn
  • Loading branch information
DamonFool committed Jul 29, 2020
1 parent d86ab94 commit cf345fd768c6d6d93ad871ac2ceae5cf2970cc8d
Showing with 11 additions and 5 deletions.
  1. +11 −5 src/hotspot/share/opto/compile.cpp
@@ -2414,15 +2414,21 @@ static void eval_operands(Node* n,
uint& func1, uint& func2, uint& func3,
ResourceHashtable<Node*,uint>& eval_map) {
assert(is_vector_bitwise_op(n), "");
func1 = eval_operand(n->in(1), eval_map);

if (is_vector_binary_bitwise_op(n)) {
if (is_vector_unary_bitwise_op(n)) {
Node* opnd = n->in(1);
if (VectorNode::is_vector_bitwise_not_pattern(n) && VectorNode::is_all_ones_vector(opnd)) {
opnd = n->in(2);
}
func1 = eval_operand(opnd, eval_map);
} else if (is_vector_binary_bitwise_op(n)) {
func1 = eval_operand(n->in(1), eval_map);
func2 = eval_operand(n->in(2), eval_map);
} else if (is_vector_ternary_bitwise_op(n)) {
} else {
assert(is_vector_ternary_bitwise_op(n), "unknown operation");
func1 = eval_operand(n->in(1), eval_map);
func2 = eval_operand(n->in(2), eval_map);
func3 = eval_operand(n->in(3), eval_map);
} else {
assert(is_vector_unary_bitwise_op(n), "not unary");
}
}

0 comments on commit cf345fd

Please sign in to comment.