This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
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.
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.