LLILC详解,基于LLVM的.NET Core编译器

Update:

知乎上Azul Systems员工RednaxelaFX的分析。

介绍

LLILC由JIT和AOT编译器组成,是基于LLVM的.NET Core编译器。目的是创建一组跨平台.NET代码生成工具。LLILC是一个将msIL (.NET)代码编写进本地二进制的开源项目,使用LLVM框架。

支持平台

支持Windows、Linux与Mac OS X

对于Windows,所有命令都从一个Windows命令提示符输入,并且c:\dotnet可能会取代您所选择目录下面的所有命令。准备工作点此查看。

对Linux和OS X的支持仍处于早期阶段。所以这里的推荐流程会显得粗糙些,点此查看。

开发环境和测试工具

开发环境和回归测试工具的创建是用来帮助标准化一些常见的开实践和提供回归测试能力,脚本位于LLILC\test\LLILCEnv.ps1。

1.先决条件

  • 安装以下软件:Visual Studio 12.0、Git、CMake、Python、GnuWin32和DiffMerge
  • 创建LLVM与LLILC本地存储库
  • 一个用于LLVM构建目录的默认位置
  • LLICL使用CoreCLR的测试资源,并且一个CoreCLR运行时与LLILC JIT匹配

2.环境初始化

  • 创建一个快捷方式,例如:C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -nologo -noexit -executionpolicy remotesigned -c . { C:\yourpathto\LLILC-init.ps1 Ret title "LLILC Term" }
  • LLILC-init.ps1自定义环境变量,如果LLILC资源在tree中,它最终应该调用“& $Env:LLVMSOURCE\tools\LLILC\test\LLILCEnv.ps1”,如果在tree外,则调用“& $Env:LLILCSOURCE\test\LLILCEnv.ps1”。
  • LLILCEnv.ps1验证你的软件安装和环境变量。它会完成其余开发环境和测试工具的设置,包括获取或更新CoreCLR测试资产等。

测试创建、用例等更多细节点此查看。

贡献

LLILC刚刚建起来,目前只有几个测试工具,还有很多地方需要得到支持。GitHub上的地址点此进入。

文档

1.开发者指南

  • Windows准备指南
  • Linux与OS X准备指南
  • 构建与测试
  • 贡献指南
  • LLILC编码常规和注释风格

2.结构

  • LLILC结构概览

3.在LLVM支持的管理结构

  • LLILC MSIL阅读器
  • LLILC中的GC支持
  • LLILC中的EH支持

4.其他资源

  • dotnet/CoreCLR
  • dotnet/CoreFx

极客头条正式开通了微信公众号,刊选每日精华内容和最新的资讯文章。在微信搜索“csdn_geek”或扫描下方的二维码。

https://img-my.csdn.net/uploads/201504/14/1428999730_5047.jpg

你可能感兴趣的:(LLILC详解,基于LLVM的.NET Core编译器)