Skip to content

[GR-64965] Do not try to validate type state propagation into disabled flows #11192

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

graalvmbot
Copy link
Collaborator

When TypeFlow.validateFixedPointState tries to propagate type state from a flow to its uses, it should only do so if the use is enabled, because the saturation callback methods onInputSaturated and onObservedSaturated are only registered but not executed for disabled flows. Their execution is delayed until the flow becomes enabled. Therefore, TypeFlow.processInputState, which in some cases (e.g. conditional flow) explicitly queries the state of its inputs and observees) might return a bigger value compared to the original state of the flow, which is actually valid behaviour in this case (as the saturation callbacks that can change the type state of the flow were not yet executed, because it is not enabled). We should therefore only try to propagate values into already enabled flows in the type flow graph validation.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label May 14, 2025
@graalvmbot graalvmbot force-pushed the d-kozak/GR-64965/typeflow-validation-fix branch from f863544 to 6bfe8c4 Compare May 16, 2025 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants