Description[Interpreter] Add option to trace bytecode execution.
Adds --trace-ignition flag which allows tracing of bytecodes as they
execute. As well as printing out the bytecode, this also prints out the
input and output registers to each operation. The generated output looks
as follows:
-> 0x350cb46d5264 (139) : 49 fc fb 03 07 Call r4, r5, #3, [7]
[ accumulator -> 0x177fba00bc99 <JS Array[2]> ]
[ r4 -> 0x350cb46ce099 <JS Function InstallFunctions (SharedFunctionInfo 0x350cb46470c1)> ]
[ r5 -> 0x350cb46cddc1 <an Object with map 0x35fdf590a3a9> ]
[ r6 -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
[ r7 -> 2 ]
[ accumulator <- 0x350cb4604189 <undefined> ]
-> 0x350cb46d5978 (47) : 4b f8 00 00 00 CallRuntime [248], r0, #0
[ accumulator -> 0x350cb4604189 <undefined> ]
[ accumulator <- 0x350cb4604189 <undefined> ]
-> 0x350cb46d597d (52) : 23 09 Ldar a0
[ accumulator -> 0x350cb4604189 <undefined> ]
[ a0 -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
[ accumulator <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
-> 0x350cb46d597f (54) : 24 fd Star r3
[ accumulator -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
[ accumulator <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
[ r3 <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
Also adds support for --print_source and --print-ast to the interpreter.
BUG=v8:4280
LOG=N
Committed: https://crrev.com/6399fce56b534cdda130e50858d95d07d78c3754
Cr-Commit-Position: refs/heads/master@{#33594}
Patch Set 1 #Patch Set 2 : #
Total comments: 8
Patch Set 3 : Fix compile error #
Total comments: 14
Patch Set 4 : Review comments #
Messages
Total messages: 26 (11 generated)
|