Skip to content

[RyuJIT Wasm] Codegen: Proper end placement #122625

Description

@adamperlin

Wasm requires an end instruction to be placed as a delimiter for the end of an expression. One consequence of this for us in the JIT is that we need to emit an end instruction at the end of codegen for the main portion of a method, as the method body itself is implicitly an expression. In the case of funclets, end will need to be emitted before any funclet code.

Currently, as of #122425, we emit end as part of the epilog generation code if there are no attached funclet blocks. We need to make sure that (at least) the following two cases are handled:

  • Emit end even for methods that don't have epilogues
  • Emit end to terminate funclets

Metadata

Metadata

Assignees

Labels

arch-wasmWebAssembly architecturearea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions