diff options
author | Andy Ayers <andya@microsoft.com> | 2021-10-06 04:40:45 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-06 04:40:45 +0300 |
commit | 26954f5e1d7e8101b5042b17e290c9cb7de5328c (patch) | |
tree | ea718e1062a343aa68f8f3e89b55f74b5abf9450 /src/coreclr/jit/fgdiagnostic.cpp | |
parent | d14366c7984a8f0fe8e7552e18cfe2c837572d1f (diff) |
JIT: better support for patchpoints in try regions (#59784)
This change adds control flow to ensure that an OSR method for a patchpoint
nested in try regions enters those regions try from the first block of each
try rather than mid-try.
This lets these OSR methods conform to the data flow expectations that the
only way control flow can enter a try is via its first block.
See #33658 for more details on the approach taken here.
Fixes #35687.
Diffstat (limited to 'src/coreclr/jit/fgdiagnostic.cpp')
-rw-r--r-- | src/coreclr/jit/fgdiagnostic.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/src/coreclr/jit/fgdiagnostic.cpp b/src/coreclr/jit/fgdiagnostic.cpp index 1287ae128fc..939131e2b29 100644 --- a/src/coreclr/jit/fgdiagnostic.cpp +++ b/src/coreclr/jit/fgdiagnostic.cpp @@ -2419,12 +2419,6 @@ bool BBPredsChecker::CheckEhTryDsc(BasicBlock* block, BasicBlock* blockPred, EHb return true; } - // For OSR, we allow the firstBB to branch to the middle of a try. - if (comp->opts.IsOSR() && (blockPred == comp->fgFirstBB)) - { - return true; - } - printf("Jump into the middle of try region: " FMT_BB " branches to " FMT_BB "\n", blockPred->bbNum, block->bbNum); assert(!"Jump into middle of try region"); return false; |