Disable nop padding in R2R images and remove jumpstamps from the runtime (dotnet...
authorDavid Mason <davmason@microsoft.com>
Mon, 30 Sep 2019 22:05:15 +0000 (15:05 -0700)
committerGitHub <noreply@github.com>
Mon, 30 Sep 2019 22:05:15 +0000 (15:05 -0700)
commit64cae8c18fbf735f4271d6af8e6be319efe989c2
tree9e81204bac3f57d7e8c0c5bbcc88e354e14119c4
parentc1b5005f2cf9982df1df5bd374964e5f36a7d865
Disable nop padding in R2R images and remove jumpstamps from the runtime (dotnet/coreclr#26740)

Jumpstamps were used to version methods before we had the tiered compilation versioning mechanism. Jumpstamps had some negatives, that it was only supported on x86 and x64, that it required padding methods (bloated on disk IL code size), and that it required a runtime suspension to write the jumpstamps. By consolidating to one code versioning scheme we can delete a lot of code and support all architectures that tiered compilation does for rejit.

Commit migrated from https://github.com/dotnet/coreclr/commit/7fd79859530d6d6a05ae3b69adf2e0ca8a746bab
19 files changed:
src/coreclr/clrdefinitions.cmake
src/coreclr/src/inc/clrconfigvalues.h
src/coreclr/src/inc/readytorun.h
src/coreclr/src/tools/crossgen2/Common/Internal/Runtime/ModuleHeaders.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilationBuilder.cs
src/coreclr/src/vm/.vscode/c_cpp_properties.json
src/coreclr/src/vm/codeman.cpp
src/coreclr/src/vm/codeversion.cpp
src/coreclr/src/vm/codeversion.h
src/coreclr/src/vm/eeconfig.cpp
src/coreclr/src/vm/eeconfig.h
src/coreclr/src/vm/jitinterface.cpp
src/coreclr/src/vm/method.cpp
src/coreclr/src/vm/method.hpp
src/coreclr/src/vm/methodtable.cpp
src/coreclr/src/vm/methodtablebuilder.cpp
src/coreclr/src/vm/prestub.cpp
src/coreclr/src/vm/rejit.cpp
src/coreclr/src/zap/zapinfo.cpp