Skip to content

Commit f863544

Browse files
committed
Do not try to validate type state propagation into disabled flows.
1 parent 94cf07e commit f863544

File tree

1 file changed

+6
-3
lines changed
  • substratevm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/flow

1 file changed

+6
-3
lines changed

substratevm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/flow/TypeFlow.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -1112,10 +1112,13 @@ public boolean validateFixedPointState(BigBang bb) {
11121112
} else {
11131113
for (TypeFlow<?> use : getUses()) {
11141114
/*
1115-
* The type state of saturated flows is not updated anymore. FormalReceiverTypeFlow
1116-
* has a special update method.
1115+
* In the following cases, we cannot assume that the type state of the use is
1116+
* accurate: (1) disabled flows do not execute their on{Input|Observed}Saturated
1117+
* callbacks, so their state might not be up to date, (2) the type state of
1118+
* saturated flows is not updated anymore, (3) FormalReceiverTypeFlow has a special
1119+
* update method.
11171120
*/
1118-
if (use.isSaturated() || use instanceof FormalReceiverTypeFlow) {
1121+
if (!use.isFlowEnabled() || use.isSaturated() || use instanceof FormalReceiverTypeFlow) {
11191122
continue;
11201123
}
11211124
/*

0 commit comments

Comments
 (0)