.Net 7 团队把国内的龙芯确实当做一等公民和弃用的项目
楔子:
国内龙芯据说是用的自己的指令集,在研究ILC的时候,发现了龙芯在微软那边确实是一等公民的存在。
龙芯官网
龙芯平台.NET,是龙芯公司基于开源社区.NET独立研发适配的龙芯版本,我们会长期进行安全更新和错误修复,并持续进行性能优化。社区.NET7版本开始已经原生支持LoongArch64架构源码。
代码
在进行目标文件写入的时候

.Obj
在目标文件里面,龙芯LoongArch64会同样存在于二进制文件里面,以适配不同的平台编译特性。
case TargetArchitecture.LoongArch64:
LoongArch64.LoongArch64Emitter loongarch64Emitter = new LoongArch64.LoongArch64Emitter(factory, relocsOnly);
EmitCode(factory, ref loongarch64Emitter, relocsOnly);
loongarch64Emitter.Builder.RequireInitialAlignment(alignment);
loongarch64Emitter.Builder.AddSymbol(this);
return loongarch64Emitter.Builder.ToObjectData();
弃用
coredistools
https://github.com/dotnet/llilc
项目。
其中blob/main/lib/CoreDisTools/coredistools.cpp生成的coredistools.dll主要是用于ILC里面的C#函数的生成兼容性的汇编代码。
而这个项目的本身LLILC是一个从LLVM构建.NET兼容JIT的实验项目,已经被微软停止。
估测这个coredistools.dll里面的DumpInstruction函数后面也会被替换。
ObjWriter
https://github.com/dotnet/corert
项目。
其中
/blob/master/src/Native/ObjWriter/objwriter.cpp生成的objwriter.dll主要用于目标文件,比如.Obj,.O等。
这个项目主要是之前的NativeAOT的一部分,也被停止了,其余部分被合并到了Runtime里面去了。但是这个objwriter.dll却被合并之后单独生成
结果
可以看到LoongArch64与X64,X86,ARM,ARM64一同被纳入了LLVM的写入的编译过程。
作者:江湖评谈(公众号同名)
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

.Net 7 团队把国内的龙芯确实当做一等公民和弃用的项目的更多相关文章
- 龙芯GO!龙芯平台上构建Go语言环境指南
龙芯软件生态系列——龙芯GO!龙芯平台上构建Go语言环境指南2016-07-05 龙芯中科1初识Go语言Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Gries ...
- 龙芯团队完成CoreCLR MIPS64移植,在github开源
国产龙芯的软件生态之中.NET不会缺席,毕竟 C# 与 .NetCore/Mono 也是全球几大主流的编程语言和运行平台之一,最近一段时间听到太多的鼓吹政务领域不支持.NET, 大家都明白这是某些人为 ...
- [转帖]统一操作系统 UOS 龙芯版上线
统一操作系统 UOS 龙芯版上线 看评论很有必要 搞一波 深度的操作系统了https://www.oschina.net/news/112065/chinauos-with-loongson?p=4 ...
- [转帖]国产统一操作系统UOS龙芯版正式上线
国产统一操作系统UOS龙芯版正式上线 2019/12/13 12:49:31来源:IT之家作者:骑士责编:骑士评论:446 https://www.ithome.com/0/462/725.htm ...
- 龙芯发布.NET 6.0.100开发者试用版
龙芯在龙芯开源社区发布了LoongArch64-.NET-SDK-6.0.100开发者试用版 新闻 ,龙芯.NET基于上游社区 版本 适配支持龙芯平台架构. 目前支持LoongArch64架构和MIP ...
- 龙芯将两款 CPU 核开源,这意味着什么?
10月21日,教育部计算机类教学指导委员会.中国计算机学会教育专委会将2016 CNCC期间在山西太原举办“面向计算机系统能力培养的龙芯CPU高校开源计划”活动,在活动中,龙芯中科宣布将GS132和G ...
- [转帖]龙芯下一代处理器微结构GS464E细节曝光
龙芯下一代处理器微结构GS464E细节曝光 [日期:2015-05-26] 来源:Linux公社 作者:Linux [字体:大 中 小] http://www.linuxidc.com/Linux/ ...
- [Cnbeta]龙芯处理器性能怎么样
龙芯处理器性能怎么样?下一代CPU同频性能可达英特尔90% 在高性能处理器领域,英特尔是天花顶一般的存在(先不算地位特殊的IBM公司),国内发展CPU处理器的公司很多,绝大多数实力跟英特尔相比都差很远 ...
- 【转帖】龙芯将两款 CPU 核开源,这意味着什么?
龙芯将两款 CPU 核开源,这意味着什么? https://www.oschina.net/news/78316/loongson-open-source-two-cpu-core 文章挺不错的 也讲 ...
- [知乎]这可能是最全面的龙芯3A3000处理器评测
这可能是最全面的龙芯3A3000处理器评测 第一千零一个人 已关注 蓬岸 Dr.Quest . https://zhuanlan.zhihu.com/p/50716952 这里面链接很全. 立党 ...
随机推荐
- ysoserial commonscollections6 分析
利用链如下: 其中LazyMap.get()->ChainedTransformer.transform()-InvokerTransformer.transform()与CC1链一致. /* ...
- Hbase之权限控制
Hbase之权限控制 -- 只读权限 grant '{userName}','R','{namespaceName:tableName}' -- 写入权限 grant '{userName}','W' ...
- 17.MongoDB系列之了解应用程序动态
1. 查看当前操作 mongos> db.currentOp() { "inprog" : [ { "shard" : "study" ...
- java中获取当前执行线程的名称
Thread.currentThread().getName()
- 【JavaSE】抽象类、接口
接口的诞生 接口其实就是一种标准一种规范. 先从生活中的例子讲起,理解含义和概念后,再去理解程序会更容易理解一些. 生活中接口无处不在,比如著名的USB接口,大家可以试想一下,如果没有像USB这种统一 ...
- ES6 学习笔记(六)基本类型String
字符串String 1.字面量 需要注意的地方: 由单引号或双引号括起来的字符序列. 单双引号可以嵌套,由最外围引号定界字符串 字符串字面量可以拆分成数行,每行必须以反斜线(\)结束,且反斜线都不计入 ...
- 关于Docker的一些事--Docker-Compose 升级版本
起源 近来一直在研究怎么搭建自己的私有网盘,本着虚心耐心,认真求是态度,开始做起了实验,最终种草了Nextcloud这款开源网盘,然而用私人的服务器感觉很卡,故转战到了一个基友的服务器,感觉非常吊! ...
- 记一次线上频繁fullGc的排查解决过程
发生背景 最近上线的一个项目几乎全是查询业务,并且都是大表的慢查询,sql优化是做了一轮又一轮,前几天用户反馈页面加载过慢还时不时的会timeout,但是我们把对应的sql都优化一遍过后,前台响应还是 ...
- 一个 MySQL 隐式转换的坑,差点把服务器整崩溃了
我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态. 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 本来是一个平静而美好的下午,其 ...
- Kubernetes介绍和资源管理
Kubernetes介绍和资源管理 Kubernetes介绍 官网:https://kubernetes.io/ 一.应用部署方式演变 1.传统部署:互联网早期,会直接将应用程序部署在物理机上 优点: ...