Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.
/ jdk15u-dev Public archive

Commit

Permalink
8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Browse files Browse the repository at this point in the history
8260632: Build failures after JDK-8253353

Reviewed-by: yan
Backport-of: 1926765f5e79bfc8db762823c412cf9769ae28eb
  • Loading branch information
Olga Mikhaltsova committed Sep 2, 2022
1 parent 6f169cb commit 5964d52
Show file tree
Hide file tree
Showing 5 changed files with 1,988 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2254,7 +2254,7 @@ void MemoryGraphFixer::collect_memory_nodes() {
uint last = _phase->C->unique();

#ifdef ASSERT
uint8_t max_depth = 0;
uint16_t max_depth = 0;
for (LoopTreeIterator iter(_phase->ltree_root()); !iter.done(); iter.next()) {
IdealLoopTree* lpt = iter.current();
max_depth = MAX2(max_depth, lpt->_nest);
Expand Down
2 changes: 2 additions & 0 deletions src/hotspot/share/opto/loopnode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,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 @@ -1880,6 +1881,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 @@ -494,7 +494,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

1 comment on commit 5964d52

@openjdk-notifier
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.