dotnet / runtimelab

This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
MIT License
1.36k stars 188 forks source link

[NativeAOT-LLVM] Fix a GC hole in the new LSSA implementation #2531

Closed SingleAccretion closed 3 months ago

SingleAccretion commented 3 months ago

We need to be careful about not depending on stale shadow stack state when making decisions not to spill a def derived from an already spilled value.

This has some cost, but an overly large one, about 0.15% in terms of code size for HelloWasm.

Ref: https://github.com/dotnet/runtimelab/pull/2514#issuecomment-1979808170.

SingleAccretion commented 3 months ago

@dotnet/nativeaot-llvm

jkotas commented 3 months ago

Thank you!