No, V8 parses your Javascript source into an AST.  From the AST, there are two paths it can take.  The first step is the &quot;full-codegen&quot; compiler, which walks the AST directly and emits unoptimized native code:<p><a href="http:&#x2F;&#x2F;wingolog.org&#x2F;archives&#x2F;2011&#x2F;07&#x2F;05&#x2F;v8-a-tale-of-two-compilers" rel="nofollow">http:&#x2F;&#x2F;wingolog.org&#x2F;archives&#x2F;2011&#x2F;07&#x2F;05&#x2F;v8-a-tale-of-two-com...</a><p>If a function is hot, then it gets promoted to V8&#x27;s optimizing compiler, which is currently Crankshaft but will soon be replaced by Turbofan.  This compiles the AST first into a high-level IR, Hydrogen, which is an architecture-independent SSA-like form vaguely reminiscent of LLVM.  Then that&#x27;s lowered into an architecture-dependent IR, Lithium, where register allocation and instruction scheduling is performed.<p><a href="http:&#x2F;&#x2F;jayconrod.com&#x2F;posts&#x2F;54&#x2F;a-tour-of-v8-crankshaft-the-optimizing-compiler" rel="nofollow">http:&#x2F;&#x2F;jayconrod.com&#x2F;posts&#x2F;54&#x2F;a-tour-of-v8-crankshaft-the-op...</a><p>If you read the bug for this that someone posted up-thread, the AST information is fully available when inlining in Hydrogen, but a patch to remove the character limit tanked one of their benchmarks.  Also, they didn&#x27;t preclude fixing it in Turbofan, only in Crankshaft, and that&#x27;s largely because Crankshaft is on its way out.<p>(I&#x27;ve played a little with the internals of V8, but am not an official developer.  Also, one of my friends is the Bay Area TL for V8.)