diff options
author | Jan Kotas <jkotas@microsoft.com> | 2015-12-15 05:06:39 -0800 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-12-15 05:06:39 -0800 |
commit | 25faa9c112302e4ba5df48936493b4ba846b02a8 (patch) | |
tree | 4ba9f7be3cdf95840ff466b4aa24e50c2708b19d | |
parent | a56a693f47b68009a353a8ee0e8198d5a968d7e9 (diff) | |
download | coreclr-25faa9c112302e4ba5df48936493b4ba846b02a8.tar.gz coreclr-25faa9c112302e4ba5df48936493b4ba846b02a8.tar.bz2 coreclr-25faa9c112302e4ba5df48936493b4ba846b02a8.zip |
Add src/jit/protojit
[tfs-changeset: 1557767]
-rw-r--r-- | src/jit/protojit/.gitmirror | 1 | ||||
-rw-r--r-- | src/jit/protojit/SOURCES | 10 | ||||
-rw-r--r-- | src/jit/protojit/makefile | 7 | ||||
-rw-r--r-- | src/jit/protojit/protojit.def | 8 | ||||
-rw-r--r-- | src/jit/protojit/protojit.nativeproj | 88 |
5 files changed, 114 insertions, 0 deletions
diff --git a/src/jit/protojit/.gitmirror b/src/jit/protojit/.gitmirror new file mode 100644 index 0000000000..f507630f94 --- /dev/null +++ b/src/jit/protojit/.gitmirror @@ -0,0 +1 @@ +Only contents of this folder, excluding subfolders, will be mirrored by the Git-TFS Mirror.
\ No newline at end of file diff --git a/src/jit/protojit/SOURCES b/src/jit/protojit/SOURCES new file mode 100644 index 0000000000..5f46bf8aad --- /dev/null +++ b/src/jit/protojit/SOURCES @@ -0,0 +1,10 @@ + +# +# DO NOT EDIT THIS FILE!!! Modify the project file in this directory +# This file merely allows the MSBuild project file in this directory to be integrated with Build.Exe +# +TARGETTYPE=NOTARGET +CLR_TARGETTYPE=DLL +MSBuildProjectFile=protojit.nativeproj +SOURCES= + diff --git a/src/jit/protojit/makefile b/src/jit/protojit/makefile new file mode 100644 index 0000000000..84abb1cb0d --- /dev/null +++ b/src/jit/protojit/makefile @@ -0,0 +1,7 @@ + +# +# DO NOT EDIT THIS FILE!!! Modify the project file in this directory +# This file merely allows the MSBuild project file in this directory to be integrated with Build.Exe +# +!INCLUDE $(NTMAKEENV)\msbuild.def +
\ No newline at end of file diff --git a/src/jit/protojit/protojit.def b/src/jit/protojit/protojit.def new file mode 100644 index 0000000000..ec1a3c7a75 --- /dev/null +++ b/src/jit/protojit/protojit.def @@ -0,0 +1,8 @@ +; ==++== +; +; Copyright (c) Microsoft Corporation. All rights reserved. +; +; ==--== +EXPORTS + getJit + sxsJitStartup
\ No newline at end of file diff --git a/src/jit/protojit/protojit.nativeproj b/src/jit/protojit/protojit.nativeproj new file mode 100644 index 0000000000..3de0f0aeed --- /dev/null +++ b/src/jit/protojit/protojit.nativeproj @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="dogfood"> + + <!-- + PROTO JIT: The purpose of this module is to provide an isolated environment to develop + the RyuJIT backend without interfering with the development of the frontend. The + idea is to fork codegen and registerfp, that way we leave the PUCLR backend intact so + it can be still consumed by the RyuJIT frontend separately maintaining the code stability + of the PUCLR codegen.cpp logic. + + This module is meant to be a 'development' JIT, i.e. try to use the generated code by this JIT + and in case something goes wrong, fallback to the default JIT. + --> + + <!-- Import the CLR's settings --> + + <Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\clr.props" /> + + <PropertyGroup> + + <!-- Set the output --> + + <OutputName>protojit</OutputName> + <StaticLinkJit>$(FeatureMergeJitAndEngine)</StaticLinkJit> + <FeatureMergeJitAndEngine>false</FeatureMergeJitAndEngine> + <TargetType>DYNLINK</TargetType> + <FileToMarkForSigning>$(BinariesDirectory)\protojit.dll</FileToMarkForSigning> + <BuildCoreBinaries>false</BuildCoreBinaries> + <BuildSysBinaries>false</BuildSysBinaries> + + <!-- Motherhood & apple pie here --> + + <DllEntryPoint>_DllMainCRTStartup</DllEntryPoint> + <LinkSubsystem>windows</LinkSubsystem> + <LibCLib Condition="'$(StaticLinkJit)'!='true'">$(ClrCrtLib)</LibCLib> + + <!-- JIT specific baloney --> + + <LinkModuleDefinitionFile>$(OutputName).def</LinkModuleDefinitionFile> + + <ClDefines>$(ClDefines);ALT_JIT</ClDefines> + <ClDefines Condition="'$(BuildArchitecture)' == 'amd64'">$(ClDefines);FEATURE_SIMD;FEATURE_AVX_SUPPORT</ClDefines> + + <Win32DllLibs>$(SdkLibPath)\kernel32.lib;$(SdkLibPath)\user32.lib;$(SdkLibPath)\advapi32.lib;$(SdkLibPath)\oleaut32.lib;$(SdkLibPath)\uuid.lib</Win32DllLibs> + <Win32DllLibs>$(Win32DllLibs);$(ClrLibPath)\utilcode.lib</Win32DllLibs> + + <!-- Profile-guided optimization --> + + <PogoOptimize>false</PogoOptimize> + <PogoInstrument>false</PogoInstrument> + <PogoUpdate>false</PogoUpdate> + + <!-- Do we want to build with msvcdis disassembly capability? This should be enabled for DEBUG, disabled otherwise. + However, it can be useful for debugging purposes, such as generating assembly diffs between CHK and RET JITs, + to enable it temporarily in non-DEBUG builds, by forcing the EnableLateDisasm property to 'true'. + --> + <EnableLateDisasm Condition="'$(DebugBuild)' == 'true' and '$(BuildArchitecture)' != 'arm' and '$(BuildForCoreSystem)' != 'true'">true</EnableLateDisasm> + <!-- + <EnableLateDisasm Condition="'$(BuildArchitecture)' != 'arm' and '$(BuildForCoreSystem)' != 'true'">true</EnableLateDisasm> + --> + <ClDefines Condition="'$(EnableLateDisasm)' == 'true'">$(ClDefines);LATE_DISASM=1</ClDefines> + <LinkDelayLoad Condition="'$(EnableLateDisasm)' == 'true'">$(LinkDelayLoad);msvcdis$(VC_NONCRT_ProdVerX).dll</LinkDelayLoad> + <UseDelayimpLib Condition="'$(EnableLateDisasm)' == 'true' and '$(FeatureMergeJitAndEngine)'!='true'">true</UseDelayimpLib> + + </PropertyGroup> + + <!-- Leaf Project Items --> + + <ItemGroup> + <ProjectReference Include="$(ClrSrcDirectory)utilcode\dyncrt\dyncrt.nativeproj" /> + <TargetLib Include="$(SdkLibPath)\mscoree.lib" /> + <TargetLib Condition="'$(BuildArchitecture)'!='i386'" Include="$(ClrLibPath)\gcinfo.lib"> + <ProjectReference>$(ClrSrcDirectory)gcinfo\lib\gcinfo.nativeproj</ProjectReference> + </TargetLib> + <TargetLib Condition="'$(UseDelayimpLib)' == 'true'" Include="$(ClrLibPath)\delayimp.lib"> + <ProjectReference>$(ClrSrcDirectory)delayimp\delayimp.nativeproj</ProjectReference> + </TargetLib> + <TargetLib Condition="'$(DebugBuild)' == 'true'" Include="$(ClrLibPath)\gcdump.lib"> + <ProjectReference>$(ClrSrcDirectory)gcdump\lib\gcdump.nativeproj</ProjectReference> + </TargetLib> + <TargetLib Condition="'$(DebugBuild)' == 'true'" Include="$(SdkLibPath)\ole32.lib" /> + <TargetLib Condition="'$(EnableLateDisasm)' == 'true'" Include="$(VCToolsLibPath)\msvcdis.lib" /> + <RCResourceFile Include="..\native.rc" /> + </ItemGroup> + + <Import Project="..\jit.settings.targets" /> + +</Project> |