JIT: change how we block gc refs from callee saves for inline pinvokes (dotnet/coreclr#22477)
Add a new marker instruction that we emit once we've enabled preepmtive gc in
the inline pinvoke method prolog. Use that to kill off callee saves registers
with GC references, instead of waiting until the call.
This closes a window of vulnerability we see in GC stress where if a stress
interrupt happens between the point at which we enable preeemptive GC and
the point at which we make the call, we may report callee saves as GC live
when they're actually dead.
Closes dotnet/coreclr#19211.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cd9e3ab6cae4aaf2a70fe1e59173b998932601d