Make GC Stress 4/8 work with CET (#71085)
* Make GC Stress 4/8 work with CET
This change makes the GC stress 4/8 work without redirection. It also
fixes a problem with missing unwinding of the shadow stack pointer
that was not discovered before. I've found it while testing this
change - it has manifested itself as a shadow stack overflow.
And there is one more fix. The VSD Resolve stub was problematic to unwind
through when null reference was passed as this to it. The stub had a push rdx
as the first instruction and the dereference of this happened after that. So
in case of the null, the call stack in the vectored exception handler contained
a phantom frame caused by a problem unwinding from the stub. That
caused incorrect updating of the shadow SP. I've fixed it by moving the dereference
before the push.
18 files changed: