我在研究 V8 的内部工作原理时遇到了术语 JIT 编译器。最初,我在这篇文章https://www.quora.com/How-does-the-JIT-compiler-work-in-JS中读到V8 中的 JIT 编译器称为“Ignition”,即解释器。然后,我得出结论,JIT 编译器只是解释器。但后来我发现了另一篇文章https://blog.logrocket.com/how-javascript-works-optimizing-the-v8-compiler-for-efficiency/将 jit-compilation 描述为解释器和编译器的组合。伙计们,JIT 编译器真的是解释器和编译器的结合吗?或者 JIT 编译器只是解释器吗?
我正在学习 V8 的内部工作原理,并发现有 JIT 编译器,它可以使用内联缓存技术动态优化热门函数。我只有两个问题,第一,函数只要反复执行几次就算热函数吗?其次,在 V8 中重复执行函数的确切数量是多少之后变得炙手可热?