目前关于JavaScript引擎JITC的优化方法又可以分为两类,一类是硬件相关的优化,在使用JIT产生的机器码过程中每次都要进行deoptimization check,平均情况下12.9%的JavaScript运行时间花在了deoptimization check上,但实际上deoptimization check失败的次数相对较少,因此文献针对不同类型的deoptimization check分别引入了不同的机器指令来替代原来的check指令以减少deoptimization check的时间代价,文献提出了低复杂度的硬件架构扩展CheckedLoad,它引入了新的ISA指令替代软件deoptimization check,同时对变量类型预测提出了硬件支持,减小deoptimization check失败的几率。
另一类是软件相关的优化,文献分析了JITC过程中脱优化的代价,并提出了相应的建议以减少脱优化发生的次数。文献从不同方面改进JITC过程中类型特化的机制。文献对JITC过程中的热点探测算法进行改进,以更早更精确地发现热点代码,从而尽早对其优化,而且考虑到deoptimization的次数来对热点探测算法进行改进。
文献针对资源受限智能终端设备对JITC编译器进行了改进,生成尺寸更小的机器码指令以减少JITC的内存占用。文献对JITC的过程中字节码的内存缓存机制进行了改进。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。