https://zenn.dev/canalun/articles/exec_javascript_beyond_ast
Tali Garsiel & Paul Irish; “How browsers work”;
下記が基本的な流れ
- V8って書いてあるけど、下記の基本的な流れはエンジンによらずほとんど同じはず
- もちろんそれぞれのフェーズで実装の違いは在る。“Optimize & Compile it”の具体的な実装などはエンジンにより異なる Benedikt Meurer; [“An Introduction to Speculative Optimization in V8”](<https://ponyfoo.com/articles/an-introduction-to-speculative-optimization-in-v8>);
[](<https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a4460867-bab3-4d15-8b94-4ca6ee77bc91/65f18852d2553a4608d021be.png3fsha3d966b7819aace615714ee6b0f5f05d2925b59a13b>)
jsの面白いところは、ASTから直接コンパイルして実行されるわけでも**なく**、単純なインタプリタのようにコンパイルを挟まずに実行しているわけでも**ない**ところ。それに、なんだか見慣れない”Get feedback”というフェーズさえある……!ここがJIT compileと呼ばれる面白い部分で、このあと説明していきます!!
さて、まずはここから始まっていきます
Parsing(構文解析)とは、ここでは「文法に沿って、文の構造を解析すること」くらいで捉えておく