Skip to content

Commit

Permalink
8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Browse files Browse the repository at this point in the history
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: vlivanov, neliasso
  • Loading branch information
Vladimir Kozlov and RealFYang committed Jan 28, 2021
1 parent e68eac9 commit 1926765
Show file tree
Hide file tree
Showing 4 changed files with 1,987 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/hotspot/share/opto/loopnode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ IdealLoopTree* PhaseIdealLoop::insert_outer_loop(IdealLoopTree* loop, LoopNode*
loop->_parent = outer_ilt;
loop->_next = NULL;
loop->_nest++;
assert(loop->_nest <= SHRT_MAX, "sanity");
return outer_ilt;
}

Expand Down Expand Up @@ -2614,6 +2615,7 @@ bool IdealLoopTree::is_member(const IdealLoopTree *l) const {
//------------------------------set_nest---------------------------------------
// Set loop tree nesting depth. Accumulate _has_call bits.
int IdealLoopTree::set_nest( uint depth ) {
assert(depth <= SHRT_MAX, "sanity");
_nest = depth;
int bits = _has_call;
if( _child ) bits |= _child->set_nest(depth+1);
Expand Down
2 changes: 1 addition & 1 deletion src/hotspot/share/opto/loopnode.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -611,7 +611,7 @@ class IdealLoopTree : public ResourceObj {

Node_List _body; // Loop body for inner loops

uint8_t _nest; // Nesting depth
uint16_t _nest; // Nesting depth
uint8_t _irreducible:1, // True if irreducible
_has_call:1, // True if has call safepoint
_has_sfpt:1, // True if has non-call safepoint
Expand Down
Loading

0 comments on commit 1926765

Please sign in to comment.