dotnet / corert

This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
http://dot.net
MIT License
2.91k stars 510 forks source link

ARM64: EH helper use always RhpGetThread #8339

Closed RalfKornmannEnvision closed 3 years ago

RalfKornmannEnvision commented 3 years ago

To simplify the code the exception handling assembler helpers use now always RhpGetThread. This will add some small additional overhead when the regular TLS code could have been inlined. But as EH needs an expensive stack walk anyway it will have no significant impact overall.

funclets store all parameters and the thread object as local variable to avoid making the expensive call twice.

As the new code needs more stack space it is although increased for the asm variant to avoid having different sizes as the stack frame iterator needs to know.