I'd suggest inspecting what the various compiler tiers do by running d8
with the following command line flags:

--print-bytecode
--print-maglev-code (you might also want to pass --no-debug-code to make it
less cluttered)
--print-maglev-graph

And then you can use code search ( cs.chromium.org ) with the things you
see (e.g., bytecode names) to find out what is happening under the hood.
Oldschool printf debugging works really well in V8, we have Print()
functions for a bunch of things (especially V8 objects).

You can also insert a breakpoint in the generated machine code in gdb and
inspect what it does. There the V8 gdb macros ( v8/tools/gdbinit ) are
helpful, esp. the "job" macro enables you to print out V8 objects.

You can also look at what V8 mjsunit tests do. There you can find a bunch
of helpers (%PrepareFunctionForOptimization , %DebugPrint, %SystemBreak
etc) which are also very useful.

Good luck!

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/CAED6dUBny2FA%3DH8NTKLMHKOGDRZJK7PU9aXXMFX3nou3%3DUynKw%40mail.gmail.com.

Reply via email to