Skip to content

[NativeAOT, win-x86] Bad EH info generated for nested trys #101364

Closed
@MichalStrehovsky

Description

@MichalStrehovsky

Hit with JIT\Regression\CLR-x86-JIT\V1-M10\b08944\b08944b test.

JitDump of the method with bad EH info:
jitdump.zip

Notice:

2 EH table entries, 0 duplicate clauses, 0 cloned finallys, 2 total EH entries reported to VM
setEHcount(cEH=2)
EH#0: try [0029..0032) handled by [008D..00B2) (class: 1000014)
EH#1: try [0028..0034) handled by [00B2..016D) (class: 1000014)

The 29..32 try block looks okay, but the 28..34 is too short and doesn't cover the handler that got moved out-of-line.

Wondered if it's related to a // TODO: Is this really UNIX_X86_ABI specific? Should we guard with compiler->UsesFunclets() instead? comment but that didn't seem to fix it.

Metadata

Metadata

Assignees

Labels

arch-x86area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIin-prThere is an active PR which will close this issue when it is mergedos-windows

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions