Skip to content
This repository has been archived by the owner on Sep 2, 2022. It is now read-only.
/ jdk16 Public archive


8259061: C2: assert(found) failed: memory-writing node is not placed …
Browse files Browse the repository at this point in the history
…in its original loop or an ancestor of it

Remove assertion that is too general, that is, it can fail on compilations where
C2 generates correct code otherwise.

Reviewed-by: chagedorn, thartmann, kvn
  • Loading branch information
robcasloz authored and TobiHartmann committed Jan 13, 2021
1 parent 793017d commit 417e1d1
Showing 1 changed file with 0 additions and 20 deletions.
20 changes: 0 additions & 20 deletions src/hotspot/share/opto/block.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1221,26 +1221,6 @@ void PhaseCFG::verify() const {
if (j >= 1 && n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_CreateEx) {
assert(j == 1 || block->get_node(j-1)->is_Phi(), "CreateEx must be first instruction in block");
// Verify that memory-writing nodes (such as stores and calls) are placed
// in their original loop L (given by the control input) or in an ancestor
// of L. This is guaranteed by the freq. estimation model for reducible
// CFGs, and by special handling in PhaseCFG::schedule_late() otherwise.
if (n->is_Mach() && n->bottom_type()->has_memory() && n->in(0) != NULL) {
Block* original_block = find_block_for_node(n->in(0));
assert(original_block != NULL, "missing block for memory-writing node");
CFGLoop* original_or_ancestor = original_block->_loop;
assert(block->_loop != NULL && original_or_ancestor != NULL, "no loop");
bool found = false;
do {
if (block->_loop == original_or_ancestor) {
found = true;
original_or_ancestor = original_or_ancestor->parent();
} while (original_or_ancestor != NULL);
assert(found, "memory-writing node is not placed in its original loop "
"or an ancestor of it");
if (n->needs_anti_dependence_check()) {
verify_anti_dependences(block, n);
Expand Down

1 comment on commit 417e1d1

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.