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.

Reply via email to