JSC由三个引擎组成: 解释器(interpreter), 简单方法JIT(simple method JIT), 和DFG JIT. 三种形式有一个层次化的编译过程:初始的解析和编译生成字节码(byte-code), 再由simple method JIT加以优化, 最后再由DFG JIT加以优化。在实践中, 多数平台下并没有解释器,所有的代码都是通过method JIT运行。DFG JIT随着Mac OS X Lions的Safari浏览器一起发布,但并没有在除了64-bit Mac OS以外的系统上使用。
当WebKit解析到html中的script时候,会对于javascript进行编译(compile)和执行(execute),参看执行序列图。
参考
http://blog.youkuaiyun.com/horkychen/article/details/7888647