OpenJDK / jdk / jdk
changeset 57915:c7152f7e01a6
8237951: CTW: C2 compilation fails with "malformed control flow"
Reviewed-by: vlivanov, kvn
author | roland |
---|---|
date | Tue, 28 Jan 2020 13:36:30 +0100 |
parents | 4639cbdcbf27 |
children | 9b3d5cc71cea |
files | src/hotspot/share/opto/phaseX.cpp |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/share/opto/phaseX.cpp Mon Feb 03 09:39:39 2020 +0100 +++ b/src/hotspot/share/opto/phaseX.cpp Tue Jan 28 13:36:30 2020 +0100 @@ -1762,8 +1762,11 @@ if (m->is_Call()) { for (DUIterator_Fast i2max, i2 = m->fast_outs(i2max); i2 < i2max; i2++) { Node* p = m->fast_out(i2); // Propagate changes to uses - if (p->is_Proj() && p->as_Proj()->_con == TypeFunc::Control && p->outcnt() == 1) { - worklist.push(p->unique_out()); + if (p->is_Proj() && p->as_Proj()->_con == TypeFunc::Control) { + Node* catch_node = p->find_out_with(Op_Catch); + if (catch_node != NULL) { + worklist.push(catch_node); + } } } }