Fix SP check for x64/x86, remove for arm32/arm64
authorBruce Forstall <Bruce_Forstall@msn.com>
Fri, 26 Oct 2018 07:06:38 +0000 (00:06 -0700)
committerBruce Forstall <Bruce_Forstall@msn.com>
Tue, 6 Nov 2018 07:12:06 +0000 (23:12 -0800)
commit43e3118e5f0473088461ff1d7db4ab2a2f25f7d2
tree111a82f3bba24de96fb2b77230fd9a77a46a68e5
parentbc8ec6cda96c80fa772ed1a2460f033200284b19
Fix SP check for x64/x86, remove for arm32/arm64

The actual checking had gotten lost between JIT32 and RyuJIT.
I fixed the "on return from function" case for x86/x64, and
the "around every call site" case for x86.

I removed the arm64 case because it's not easy to store SP to a
stack local or directly compare SP against a stack local without
a temporary. Also, for the fixed outgoing arg space ABIs (all but x86),
these checks don't seem too useful anyway, so I also removed the
arm case.

Commit migrated from https://github.com/dotnet/coreclr/commit/8cbbce04c80f03f90370231847865f620150f628
src/coreclr/src/jit/codegen.h
src/coreclr/src/jit/codegenarm.cpp
src/coreclr/src/jit/codegenarm64.cpp
src/coreclr/src/jit/codegencommon.cpp
src/coreclr/src/jit/codegenlinear.cpp
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/compiler.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/morph.cpp