You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pretty simple. Just write some trash value into all registers in the prolog that aren't preserved by the function's calling convention.
We can add a function attribute to control this.
This feature could help stress test things like
liveness across call site
a managed runtime that saves/restores context around calls to native code
the stack map liveness feature that reports
In the case of stackmap liveness, we could clobber dead registers at the point of the stackmap to verify our own analysis. This would be a more direct way to verify the liveness analysis.
There is some speculation that this could harden code against security vulnerabilities, but I haven't confirmed that.
For my immediate goals, verification in the runtime may be sufficient. But I want to float the idea early of having LLVM generate clobber regs to get input from others.
The text was updated successfully, but these errors were encountered:
Extended Description
Pretty simple. Just write some trash value into all registers in the prolog that aren't preserved by the function's calling convention.
We can add a function attribute to control this.
This feature could help stress test things like
In the case of stackmap liveness, we could clobber dead registers at the point of the stackmap to verify our own analysis. This would be a more direct way to verify the liveness analysis.
There is some speculation that this could harden code against security vulnerabilities, but I haven't confirmed that.
For my immediate goals, verification in the runtime may be sufficient. But I want to float the idea early of having LLVM generate clobber regs to get input from others.
The text was updated successfully, but these errors were encountered: