Skip to content

Conversation

BruceForstall
Copy link
Contributor

In the test case, with extreme amounts of unreachable code, we could remove a BBJ_CALLFINALLY that was not marked as BBF_DONT_REMOVE. If so, it would not go down the code path that handles removing the BBJ_ALWAYS pair of the BBJ_CALLFINALLY, which handles removing the BBF_FINALLY_TARGET flag on Linux/arm.

Refactor the code so unreachable BBJ_CALLFINALLY/BBJ_ALWAYS pairs are always handled.

Fixes #94680

In the test case, with extreme amounts of unreachable code, we could
remove a BBJ_CALLFINALLY that was not marked as `BBF_DONT_REMOVE`.
If so, it would not go down the code path that handles removing
the BBJ_ALWAYS pair of the BBJ_CALLFINALLY, which handles removing
the `BBF_FINALLY_TARGET` flag on Linux/arm.

Refactor the code so unreachable BBJ_CALLFINALLY/BBJ_ALWAYS pairs
are always handled.

Fixes dotnet#94680
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Nov 15, 2023
@ghost ghost assigned BruceForstall Nov 15, 2023
@ghost
Copy link

ghost commented Nov 15, 2023

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

In the test case, with extreme amounts of unreachable code, we could remove a BBJ_CALLFINALLY that was not marked as BBF_DONT_REMOVE. If so, it would not go down the code path that handles removing the BBJ_ALWAYS pair of the BBJ_CALLFINALLY, which handles removing the BBF_FINALLY_TARGET flag on Linux/arm.

Refactor the code so unreachable BBJ_CALLFINALLY/BBJ_ALWAYS pairs are always handled.

Fixes #94680

Author: BruceForstall
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@BruceForstall
Copy link
Contributor Author

No diffs

@BruceForstall
Copy link
Contributor Author

cc @dotnet/jit-contrib

@BruceForstall BruceForstall merged commit fd4621c into dotnet:main Nov 15, 2023
@BruceForstall BruceForstall deleted the Fix94680 branch November 15, 2023 16:16
@github-actions github-actions bot locked and limited conversation to collaborators Dec 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JIT: Assertion failed '!(block->bbFlags & BBF_FINALLY_TARGET)' during 'Global local var liveness'

2 participants