Skip to content

[interp] Limitations we're not planning to address right now #118965

@kg

Description

@kg

This is a list (not all inclusive and in no particular order) of limitations in the interpreter and/or runtime that we don't currently plan to address but may make plans to address in the future.

  • Tiered compilation causes crashes in the interpreter if it recompiles an interpreted method. We currently disable tiered compilation if the interpreter is enabled at all.
  • Many invocations go through stubs that don't need to, i.e. interpreter-to-interpreter invocations of pinvokes or delegates. This will need to be addressed eventually for WASM and iOS but is not currently causing problems.
  • Mixed-mode debugging does not work reliably and will trigger assertions or fail to properly walk the stack.
  • We do not put debug fill patterns (0xCDCDCDCD) in place of local variables that have their address exposed like the JIT does. This breaks JIT\Directed\debugging\poisoning\poison.
  • Varargs, managed C++, exception handling interop, built-in COM interop, and other Windows specific runtime features
  • Marshalled calli
  • COM support
  • Interop with externally thrown C++/SEH exceptions
  • Values on the IL stack are reported conservatively to the GC

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions