Issue 4280: Ignition interpreter tracking bug
Background
The machine code generated by V8’s full-codegen compiler is verbose, and as such, can contribute significantly to the amount of memory used by V8’s heap for typical web-pages (a previous analysis showed that the code-space contributed to around 15-20% of the JS heap). The aim of the ignition project is to build an interpreter for V8 which executes a low-level bytecode, thus enabling run-once or non-hot code to be stored more compactly in bytecode form. An added advantage of the bytecode is that it could be fed into a Turbofan graph generator directly, thereby avoiding the need to reparse the JavaScript source code when optimizing a function
V8 也要开始加解释器了, 架构上跟 SpiderMonkey 基本上没啥差别了. 嘿嘿.
Spartan/Microsoft Edge 的 Chakra 也加入了 Simple JIT, 于是现在四大JS引擎的架构都统一了:
解释器 -> Baseline JIT / Simple JIT -> Opt JIT / Full JIT (Optional Off Threading)