8282025: assert(ctrl != __null) failed: control out is assumed to be unique after JDK-8281732

Reviewed-by: kvn, thartmann, chagedorn
This commit is contained in:
Jie Fu 2022-02-17 22:53:53 +00:00
parent f830cbec90
commit fdce35f3a1

View File

@ -1,5 +1,6 @@
/*
* Copyright (c) 2015, 2021, Red Hat, Inc. All rights reserved.
* Copyright (C) 2022 THL A29 Limited, a Tencent company. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -706,7 +707,7 @@ Node* ShenandoahBarrierC2Support::no_branches(Node* c, Node* dom, bool allow_one
Node* iffproj = NULL;
while (c != dom) {
Node* next = phase->idom(c);
assert(next->unique_ctrl_out() == c || c->is_Proj() || c->is_Region(), "multiple control flow out but no proj or region?");
assert(next->unique_ctrl_out_or_null() == c || c->is_Proj() || c->is_Region(), "multiple control flow out but no proj or region?");
if (c->is_Region()) {
ResourceMark rm;
Unique_Node_List wq;