Remove JIT-EE version ifdefs (dotnet/coreclr#10273)
authorBruce Forstall <brucefo@microsoft.com>
Sat, 18 Mar 2017 15:12:52 +0000 (08:12 -0700)
committerJan Kotas <jkotas@microsoft.com>
Sat, 18 Mar 2017 15:12:52 +0000 (08:12 -0700)
commitaaef7acde0c98040e84f224feb75bd8c45e34fe7
tree9c126d26f522ebccdfc16229e020ab4449d104b5
parente9c801b12e622a38b185b8df9a6be7c16197a3b9
Remove JIT-EE version ifdefs (dotnet/coreclr#10273)

* Remove COR_JIT_EE_VERSION define

Currently, we maintain two versions of the JIT-EE interface in the
source tree: the current version, and .NET 4.6 version. This is
managed by the `COR_JIT_EE_VERSION` define. Any new changes to the JIT-EE
interface must be put under `#if COR_JIT_EE_VERSION > 460`. As of now,
there are quite a few of these `#if` statements in the tree.

We started doing this so we could build and ship a CTP (Community
Technology Preview) version of the JIT from the current source tree that
runs against earlier versions of the runtime that are widely available
to customers, so those customers can try out the new JIT and give us
early feedback. This was done during the RyuJIT/x64 bring-up before
shipping .NET 4.6, to get as much feedback as possible before replacing
JIT64. After 4.6 shipped, we re-based the old version of the JIT-EE
interface to the 4.6 version, and started adding the above `#if`
conditions, with the thought that if we ever shipped another CTP, it
would be expected to run on top of 4.6. We have not shipped such a
thing, and we currently have no plans to build another CTP in the same
way we did before. (Early adopters can try out the "live" JIT in the
.NET Core open source project, although that JIT can't be used on the
desktop.)

So, to simplify the code, and reduce the cost of adding to or changing
the JIT-EE interface, we are removing the `COR_JIT_EE_VERSION` define.

Commit migrated from https://github.com/dotnet/coreclr/commit/b0d7f96936e4560b02ba4e8d46cb60dfdf086e46
18 files changed:
src/coreclr/src/ToolBox/superpmi/superpmi-shared/icorjitcompilerimpl.h
src/coreclr/src/ToolBox/superpmi/superpmi-shared/icorjitinfoimpl.h
src/coreclr/src/inc/corinfo.h
src/coreclr/src/inc/corjit.h
src/coreclr/src/inc/jithelpers.h
src/coreclr/src/jit/ICorJitInfo_API_wrapper.hpp
src/coreclr/src/jit/compiler.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/compiler.hpp
src/coreclr/src/jit/ee_il_dll.cpp
src/coreclr/src/jit/ee_il_dll.hpp
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/importer.cpp
src/coreclr/src/jit/jitee.h
src/coreclr/src/jit/jitpch.h
src/coreclr/src/jit/lower.cpp
src/coreclr/src/jit/utils.cpp
src/coreclr/src/jit/valuenum.cpp