Skip to content

[RyuJit/WASM] Longer-term TODOs #121865

@SingleAccretion

Description

@SingleAccretion

A list of things that will need to be fixed before the work can be considered functional:

  1. genPoisonFrame implementation.
  2. Stack alignment in lvaAlignFrame.
  3. [Wasm RyuJit] local stores #122390 - remove code from STORE_LCL_VAR codegen that deals with non-candidates, add asserts to such effect.
    • Once we have some minimal RA.
  4. Fix untracked debug scopes in siOpenScopesForNonTrackedVars.
  5. Remove #ifdef TARGET_WASM from the JMC insertion path since once we have proper WASM CG2 collections and/or call emit support.
  6. Fix the single-IG restriction of the prolog so that we don't need to worry about methods with a large number of non-enregistered arguments overflowing it. Ref: [RyuJit/WASM] Establish SP & FP and home register arguments #123270.
  7. Set maxUncheckedOffset and related entries to zero; fix issues where the jit is relying on null checks for small offsets (see discussion here -- part of [Wasm RyuJit] throw helper / null check preliminaries #123053
  8. There are many places in the JIT where we assume that constants must either be type I4 or type I and that's not the case for Wasm 32 bit. Figure out a way to systematically fix this.
  9. Consider getting rid of GT_CNS_LONG so there is just one way to represent constant ints regardless of bitness.

Part of #121208.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-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