Add profiler ELT test (#39550)
authorDavid Mason <davmason@microsoft.com>
Wed, 29 Jul 2020 21:53:07 +0000 (14:53 -0700)
committerGitHub <noreply@github.com>
Wed, 29 Jul 2020 21:53:07 +0000 (14:53 -0700)
commitf0ede2b86b0f1b86744aa1e020ba1df3ac3d2744
tree68c73ff47f6908b07e1f6a8547c40f35871bde6b
parent90f0c9322778fffc06545dd0b3d5afee6e7db98e
Add profiler ELT test (#39550)

Fix the following issues:

    On amd64 linux we didn't save and restore the xmm registers, and didn't handle enregistered 16 bytes structs as return values
    On arm we didn't save and restore the floating point registers (I made the linux arm helpers match the windows arm helpers)
    On arm64 we didn't handle 16 byte enregistered structs as return values

And add tests
23 files changed:
src/coreclr/src/vm/amd64/asmhelpers.S
src/coreclr/src/vm/amd64/profiler.cpp
src/coreclr/src/vm/arm/asmhelpers.S
src/coreclr/src/vm/arm/profiler.cpp
src/coreclr/src/vm/arm64/asmhelpers.S
src/coreclr/src/vm/arm64/asmhelpers.asm
src/coreclr/src/vm/arm64/profiler.cpp
src/coreclr/src/vm/proftoeeinterfaceimpl.h
src/coreclr/tests/issues.targets
src/tests/profiler/common/ProfilerTestRunner.cs
src/tests/profiler/elt/slowpathcommon.cs [new file with mode: 0644]
src/tests/profiler/elt/slowpathcommon.csproj [new file with mode: 0644]
src/tests/profiler/elt/slowpatheltenter.cs [new file with mode: 0644]
src/tests/profiler/elt/slowpatheltenter.csproj [new file with mode: 0644]
src/tests/profiler/elt/slowpatheltleave.cs [new file with mode: 0644]
src/tests/profiler/elt/slowpatheltleave.csproj [new file with mode: 0644]
src/tests/profiler/native/CMakeLists.txt
src/tests/profiler/native/classfactory.cpp
src/tests/profiler/native/eltprofiler/slowpatheltprofiler.cpp [new file with mode: 0644]
src/tests/profiler/native/eltprofiler/slowpatheltprofiler.h [new file with mode: 0644]
src/tests/profiler/native/profiler.cpp
src/tests/profiler/native/profiler.h
src/tests/profiler/native/profilerstring.h