首页 > 解决方案 > JavaScript 如何将字节码转换为机器码?

问题描述

我从这个网页https://blog.bitsrc.io/how-does-javascript-really-work-part-1-7681dd54a36d了解了 chrome 浏览器的 V8 如何在抽象视图中工作

解释器(点火)将其转换为字节码...... 但是谁会将此字节码转换为机器码?

标签: javascriptbytecodemachine-code

解决方案


它不会将字节码转换为机器码。

Ignition 解释器采用抽象语法树并从中生成字节码。

在生成字节码后,Ignition 解释器开始直接执行这些字节码。

我知道当您听到解释器生成字节码并执行这些字节码时,这有点令人困惑。

但这实际上是 Ignition 解释器所做的。它不仅在执行它还产生字节码,所以不要被这个名字弄糊涂了。

例如我们有以下字节码

LdaSmi 5

当 Ignition 看到该字节码时,它实际上会从处理该指令的引擎中调用一个函数。


推荐阅读