Update SKIP_ALLOC_FRAME to match 3.1, 5.0 and 6.0 instruction sequences in function...
authorEgor Chesakov <Egor.Chesakov@microsoft.com>
Tue, 5 Jan 2021 01:07:09 +0000 (17:07 -0800)
committerGitHub <noreply@github.com>
Tue, 5 Jan 2021 01:07:09 +0000 (17:07 -0800)
commit8b8a3fca1ace915d13c221d0fb3a794da2eef823
treeafeabff5823e2819e04151614dc5c8d65f3b2f44
parent320f7235e07156fc388821aa7607d6b53b481797
Update SKIP_ALLOC_FRAME to match 3.1, 5.0 and 6.0 instruction sequences in function prolog (#45184)

* Add regression tests for https://github.com/dotnet/runtime/issues/45090

* Add instruction opcodes in src/coreclr/vm/eetwain.cpp

* Add SKIP_LEA_EAX_ESP in src/coreclr/vm/eetwain.cpp

* Add SKIP_HELPER_CALL in src/coreclr/vm/eetwain.cpp

* Update SKIP_ALLOC_FRAME in src/coreclr/vm/eetwain.cpp

* Use constant (0x1000) rather than calling GetOsPageSize() in SKIP_ALLOC_FRAME in src/coreclr/vm/eetwain.cpp

* Draft of the changes that are back-compatible with earlier versions of R2R code in src/coreclr/vm/eetwain.cpp

* Update src/coreclr/vm/eetwain.cpp and include missing SKIP_ARITH_REG for 3.1 stack probing loop

* Update test and include more scenarios

* Update R2R version to 5.1 in src/coreclr/inc/readytorun.h src/coreclr/tools/Common/Internal/Runtime/ModuleHeaders.cs
src/coreclr/inc/readytorun.h
src/coreclr/tools/Common/Internal/Runtime/ModuleHeaders.cs
src/coreclr/vm/eetwain.cpp
src/tests/JIT/Regression/JitBlue/Runtime_45090/Runtime_45090.cs [new file with mode: 0644]
src/tests/JIT/Regression/JitBlue/Runtime_45090/Runtime_45090.csproj [new file with mode: 0644]