Skip to content

[Wasm][AOT] methods with try/catch/finally blocks are not AOTed #111281

@jeromelaban

Description

@jeromelaban

Description

Related to the work in #56309, the AOT compiler is skipping methods containing try/catch/finally blocks, specifically. try/finally and try/catch blocks are AOTed properly.

This causes those specific methods to be executed by the interpreter, therefore being slow.

Reproduction Steps

Build and run the following repro: 20250110-issue-111281-ehissue02.zip

The output looks as follows in the profiler:

Image

Where the last method should be be entering the interpreter to execute.

Expected behavior

No interpreter is used to execute any of the methods defined by the user when a try/catch/finally pattern is used.

Actual behavior

See above.

Regression?

No. Related to #78653.

Known Workarounds

Split the methods so that one contains a try/finally, and the other a try/catch, if possible.

Configuration

9.0.100

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    arch-wasmWebAssembly architecturearea-Codegen-AOT-monoin-prThere is an active PR which will close this issue when it is mergedos-browserBrowser variant of arch-wasm

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions