Hi, I am trying to understand how AST is translated into TurboFan bytecode graph, then update the graph for JIT optimization.
So far from googling, online blogs, and stepping through the v8 code, I have gathered that: Compiler -> AST -> GnerateUnoptimizedCode -> unoptimied BytecodeGraph -> turbofan optimization stages when code is hot Most of the info are from this doc: https://docs.google.com/document/d/11T2CRex9hXxoJwbYqVQ32yIPMh0uouUZLdyrtmMoL44/edit?ts=56f27d9d# But I can't find any documentation at a high level, how an AST node maps to a JSOpcode. The test cases gives some insights, but an overall documentation would be great. I have also been playing with d8 with --trace-turbo flag. For example, just doing console.log('stuff') will create the following opcodes: JSLoadGlobal (for 'console') JSLoadNamed (for 'log') -> JSLoadNamed creates FrameState, and PeeHole constant in case the 'log' property doesnt exist HeapConstant (for 'stuff') The process of stepping through code, looking at tests, playing with d8 has been illuminating but very slow and tedious. Does anybody know if there are any docs around this area of v8? I am assuming anybody that want to become a new v8 contributor would need to go through this process and might have built some docs already. Thanks in advance, Yoshi -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/ade8a162-8100-4a5f-9ec7-09d0380b799e%40googlegroups.com.