Do not treat certain calls as intrinsics for RyuJIT/x86.
authorPat Gavlin <pagavlin@microsoft.com>
Mon, 21 Nov 2016 21:25:49 +0000 (13:25 -0800)
committerPat Gavlin <pagavlin@microsoft.com>
Mon, 21 Nov 2016 21:25:49 +0000 (13:25 -0800)
commit8fb215b5b42c5b803563bc3c569e8d814cdc1c17
tree0672e1ee25594557d1d5c65cd2a9446c24a977df
parent9bf7b08a8a3fb3768e8004016e53482190b9048b
Do not treat certain calls as intrinsics for RyuJIT/x86.

On x86 RyuJIT, importing intrinsics that are implemented as user calls
can cause incorrect calculation of the depth of the stack if these
intrinsics are used as arguments to another call. This causes bad code
generation for certain EH constructs. Instead of implementing these
intrinsics as intrinsics, simply import them as calls.

Commit migrated from https://github.com/dotnet/coreclr/commit/2e210ce935a31268a02b52a10be69bc5e951071c
src/coreclr/src/jit/importer.cpp
src/coreclr/tests/src/JIT/Regression/JitBlue/DevDiv_280127/DevDiv_280127.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/Regression/JitBlue/DevDiv_280127/DevDiv_280127.csproj [new file with mode: 0644]