版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SAS陆亚涵yahan@SECTIONSECTION认识V8RVA23后端优化性能验证AV8是什么5asV8是Google开源的高性能JavaScript/WebAssembly引擎:内嵌于Chrome浏览器,负责网页JavaScr析与执行,支撑动态交互与异步逻辑——页面渲染由BlinkNode.js的运行时内核,广泛服务于服务器端开发与V8执行管线作为动态语言虚拟机,V8采用多层次执行架构:解释器(Ignition)负责快速启动,多层JIT编译器(Sparkplug、Maglev、TurboFan)逐级优化热点代码,并配合精确式垃圾回收实现内存自动管理;启动快照(Snapshot)机制通过预序列化上下文加速冷启动。功能移植结束,性能优化与日常维护双线并行SECTIONSECTION认识V8RVA23后端优化性能验证Linuxv7.0-rc1RVA23强制覆盖率68%→100%览基础浮点基础浮点标量增强ZICOND标量增强ZICOND控制流完整性ZICFISS控制流完整性ZICFISSRVA23U64SECTIONSECTION 认识V8RVA23后端优化性能验证ProfileImpactonBuiltinSizeBuiltin总体积(byte)指针压缩关指针压缩开rv64gcv2,620,3962,762,304rva23u642,567,5562,690,052差值−52,840(−2.02%)−72,252(−2.62%)rv64gcv关指针压缩rva23关指针压缩Δrv64gcv开指针压缩rva23开指针压缩ΔASM24,90424,608_29626,45226,064_388BCH455,736440,100_15,636475,644452,436_23,208CPP11,28011,28011,28011,280TFC658,432643,644_14,788694,844675,716_19,128TFH426,688420,900_5,788452,412443,296_9,116TFJ884,496869,556_14,940934,172916,812_17,360TFS158,860157,468_1,392167,500164,448_3,052优化二:Sub32优化word32相等判断RISC-V无条件码寄存器·Word32Eq/Ne只看低32位·Before·旧路径sllit0,a,32sllit1,b,32beqt0,t1,<target>相等判断是纯开销After·新路径subwt0,a,bbeqt0,zero,<target>优化思路:优化思路:subw自带符号扩展subw会对32位结果做符号扩展;所以subwt,a,b结果为0⇔a、b低32位相等。用算术的符号扩展,替代显式符号扩展。优化后效果:builtinsize减少:_66,760B(__2.42%)32位ALU/窄加载天然自带符号扩展·3f7ae316feb等6提交背景背景After3f7ae3add32(sext(a),sext(b))add32(a,b)3f7ae3sext(add32(x,y))add32(x,y)0a62f7sext(trunc(x))x0a62f7cmp0_32(trunc(x))cmp0_64(x)25f050cmp0_32(and32(a,b))cmp0_64(and3ccde78store32(p,trunc(x))store32(p,x)ccde78sar32(trunc(x),n)sar32(x,n)ccde78cmp0_32(load32(p))cmp0_64(load32(p))035307mulovf32(sext(a),sext(b))mulovf32(a,02bf58mulovf32(a,sext(K))mulovf32(a,K')**K′:li时已完成32位符号扩展效果builtinsize减少:_16.4826个builtin受影响指针压缩+静态root→V8的类型判断大量退化为32位比较②32位值符号扩展到64位寄存器①指针压缩PointerCompressionptr=base+index64位指针拆分成基地址base和32位index:内存base只保留一份,对象存储时只存index代价:寻址范围限制在4gb优化四立即数溢出检查:不算溢出,比较大小sext.w不可省:先把x规整成32位符号扩展形,有符号比较才成立旧路径走通用溢出检查:真的把溢出位算进kScratchReg,再判符号关键关键x±imm溢出⟺result与x的大小关系反转→不用算溢出位,直接比较即可溢出→bltresult<x溢出→bgt溢出→bltresult<x溢出→bgt...code...auipct0,entry...code...auipct0,entry..code...FinishCode():auipcx0,#wordsj0←池守卫...code...auipct0,entry...code...auipcx0,#words常量池池一旦emit就关闭写入:后续常量再也进不去常量池位置可能在代码中间代码末尾跳过池的j每池1条(4B)0条汇编器检查每128条指令一次不再检查去重范围单个池内整个codeobjectSECTION第4/4SECTION第4/4章性能验证认识V8RVA23后端优化性能验证SpacemiTK3套件RV64GCRVA23提升Octane分↑11,495.0→11,804.9+2.70%SunSpiderms↓426.0→417.2+2.11%Krakenms↓→2,572.8+18.10%同二进制、同板;正值=RVA23更快K3·2025.01构建→2026.10RVA23套件2025-01RVA23提升Octane分↑10,480.2→11,804.9+12.6%SunSpiderms↓473.4→417.2+13.5%Krakenms↓4,114.8→2,572.8+59.9%k3·原始耗时ms,2025-01→当前RVA23分组4个crypto2025-011,862.9→RVA23496.8其余10项2,251.9→2,076.0①移植已完成:①移植已完成:五级执行管线全链路打通2020riscv-collab/v8riscv64-dev→2021-02上游化→2024Maglev启用Ignition→Sparkplug→Maglev→Turboshaft→Liftoff②扩展已接入13项浮点/位操作/标量增强/控制流完整性/向量——与RVA23profile逐项对齐FPUFP64FPURVVZBAZBBZBSZFA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年残疾人就业保障竞赛试题及答案
- 仙桃市2026年中国精算师职业资格考试(准精算师概率论与数理统计)模拟试题及答案
- 跨国公司与跨国银行
- 绿色植物的营养器官(根)华师大版科学八年级
- 软件技术基础复习重点
- 品牌代言合作协议书二篇
- 网络推广培训课件
- 心包引流的护理
- 信息通信工程的专业建设与人才培养
- 《高一化学硫的转化》课件
- 2026年国家烟草专卖局中国烟草总公司招录笔试真题(附答案)
- 聚丙烯(PP)原材料MSDS报告(PPH-T03牌号)
- 2026年及未来5年市场数据中国动漫外包行业市场全景评估及投资前景展望报告
- 茅台集团历年招聘真题
- 自检互检专检管理办法细则
- 体检科护理操作规范培训
- 5.2 乡村景观与城镇景观 课件(共32张内嵌视频)商务星球版(2024)地理七年级上册
- 肥料生产合伙方案(3篇)
- 养老院传染病防控与管理要点
- 大学生职业规划大赛《材料化学专业》生涯发展展示
- 税务师涉税服务相关法律真题2021年
评论
0/150
提交评论