summaryrefslogtreecommitdiff
path: root/src/jit/DIRS.proj
diff options
context:
space:
mode:
authorBrian Sullivan <briansul@microsoft.com>2015-12-11 16:16:44 -0800
committerBrian Sullivan <briansul@microsoft.com>2015-12-11 16:16:44 -0800
commit121d095ed0b0076fb1c7ff59e6446fd19d506b32 (patch)
tree4a690f67e0117dd346a9de1937f018918a970ae9 /src/jit/DIRS.proj
parentf05270a77a9782c5960d1bdff82b8521b1e3fa5d (diff)
downloadcoreclr-121d095ed0b0076fb1c7ff59e6446fd19d506b32.tar.gz
coreclr-121d095ed0b0076fb1c7ff59e6446fd19d506b32.tar.bz2
coreclr-121d095ed0b0076fb1c7ff59e6446fd19d506b32.zip
Port of all JIT changes for .NET Framework 4.6.1 changes
http://blogs.msdn.com/b/dotnet/archive/2015/11/30/net-framework-4-6-1-is-now-available.aspx .NET Framework list of changes in 4.6.1 https://github.com/Microsoft/dotnet/blob/master/releases/net461/dotnet461-changes.md Additional changes including - Working ARM64 JIT compiler - Additional JIT Optimizations o Tail call recursion optimization o Array length tracking optimization o CSE for widening casts o Smaller encoding for RIP relative and absolute addresses in addressing modes o Tracked Local Variable increased to 512 o Improved handling of Intrinsics System.GetType() o Improved handling of Math intrinsics - Work for the X86 Ryu-JIT compiler [tfs-changeset: 1557101]
Diffstat (limited to 'src/jit/DIRS.proj')
-rw-r--r--src/jit/DIRS.proj29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/jit/DIRS.proj b/src/jit/DIRS.proj
index bab4035597..3e4c86b5a4 100644
--- a/src/jit/DIRS.proj
+++ b/src/jit/DIRS.proj
@@ -1,4 +1,5 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="dogfood">
<!--Import the settings-->
<Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\clr.props" />
@@ -17,23 +18,31 @@
</PropertyGroup>
<ItemGroup Condition="'$(BuildExePhase)' == '1'">
- <ProjectFile Include="dll\jit.nativeproj" />
+ <!-- x86 and ARM clrjit.dll are built in the JIT32 directory; we build FrankenJit here -->
+ <ProjectFile Condition="'$(BuildArchitecture)' != 'i386' and '$(BuildArchitecture)' != 'arm'" Include="dll\jit.nativeproj" />
+ </ItemGroup>
+
+ <!-- Only the main JIT gets built for CoreSys. The other jits (e.g., altjits) do not. -->
+ <ItemGroup Condition="'$(BuildExePhase)' == '1' and '$(BuildProjectName)' != 'CoreSys'">
+
+ <!-- Build the "FrankenJit" (RyuJIT front-end, legacy back-end) and "FrankenAltjit". These can't conflict with the names of the JIT32 directory outputs. -->
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386' or '$(BuildArchitecture)' == 'arm'" Include="frankenjit\frankenjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="frankenaltjit\frankenaltjit.nativeproj" />
<!-- This might be useful, to help make sure JIT devs build all configurations of the JIT (including crossgen), but
it appears to cause problems with the build system, and it slows down normal JIT developer productivity by adding a seldom-useful build.
<ProjectFile Condition="'$(MDILGenerator)' != 'true'" Include="crossgen\jit_crossgen.nativeproj" />
-->
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'arm'" Include="protojit\protojit.nativeproj" />
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'amd64'" Include="protojit\protojit.nativeproj" />
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'amd64'" Include="ctp\ctpjit.nativeproj" />
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'amd64'" Include="arm64altjit\arm64altjit.nativeproj" />
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'i386'" Include="protojit\protojit.nativeproj" />
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'i386'" Include="armdll\altjit.nativeproj" />
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'i386'" Include="protononjit\protononjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'arm'" Include="protojit\protojit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'amd64'" Include="protojit\protojit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'amd64'" Include="ctp\ctpjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'amd64'" Include="arm64altjit\arm64altjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="protojit\protojit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="protononjit\protononjit.nativeproj" />
<!-- We could build skipjit for all architectures, but we only need it for x86 currently -->
- <ProjectFile Condition="'$(BuildProjectName)' != 'CoreSys' and '$(BuildArchitecture)' == 'i386'" Include="skipjit\skipjit.nativeproj" />
+ <ProjectFile Condition="'$(BuildArchitecture)' == 'i386'" Include="skipjit\skipjit.nativeproj" />
</ItemGroup>
<!--Import the targets-->