您所在的位置: 首页>建站知识>山东网站建设定制JavaScriptCore引擎采用的字节码解释器和多层JIT编译器的编译架构

山东网站建设定制JavaScriptCore引擎采用的字节码解释器和多层JIT编译器的编译架构

发表于:2021-11-09 阅读:0 关键词: JavaScriptCore引擎采用的字节码解释器和多层JI

第1层LLINT interpreter用于对字节码进行解释执行,第2层基础JIT编译器将某些执行频繁的热点函数的字节码编译成基础本地代码(Baseline Native code),对于更热点的函数采用第3层的DFG Speculative JIT编译器生成更优化的本地代码(DFG Native code),第4层LLVM JIT编译器还可以对代码进一步优化,生成执行效率更高的LLVM本地代码。

        。第1层LLINT interpreter用于对字节码进行解释执行,第2层基础JIT编译器将某些执行频繁的热点函数的字节码编译成基础本地代码(Baseline Native code),对于更热点的函数采用第3层的DFG Speculative JIT编译器生成更优化的本地代码(DFG Native code),第4层LLVM JIT编译器还可以对代码进一步优化,生成执行效率更高的LLVM本地代码。

        但是JavaScript引擎中JIT编译器在对代码进行优化时需要进行类型特化,并在执行时进行deoptimization check,如果检查失败,则会进行代码回退。图10中OSREntry表示代码优化,OSRExit表示代码回退。