6e70425be1
This CL implements the proposed change to show information about WebAssembly values and call frames via the inspector interface. Each interpreted WebAssembly frame will have two scopes: A global scope showing information about the memory (to be extended for globals), and a local scope showing information about parameters, local variables, and stack values. Names of local variables will be added later. R=ahaas@chromium.org, yangguo@chromium.org BUG=v8:6245,v8:5822 Change-Id: I0a35fddd0a353933c86adf62083233b08098a2c7 Reviewed-on: https://chromium-review.googlesource.com/474865 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44633}
330 lines
7.5 KiB
Plaintext
330 lines
7.5 KiB
Plaintext
Installing code an global variable.
|
|
Calling instantiate function.
|
|
Waiting for two wasm scripts to be parsed.
|
|
Ignoring script with url v8://test/callInstantiate
|
|
Got wasm script: wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0
|
|
Requesting source for wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0...
|
|
Got wasm script: wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1
|
|
Requesting source for wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1...
|
|
func $wasm_A
|
|
nop
|
|
nop
|
|
end
|
|
|
|
func $wasm_B (param i32)
|
|
loop
|
|
get_local 0
|
|
if
|
|
get_local 0
|
|
i32.const 1
|
|
i32.sub
|
|
set_local 0
|
|
call 0
|
|
br 1
|
|
end
|
|
end
|
|
end
|
|
|
|
Setting breakpoint on line 7 (on the setlocal before the call), url wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1
|
|
{
|
|
columnNumber : 6
|
|
lineNumber : 7
|
|
scriptId : <scriptId>
|
|
}
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:7:6: >set_local 0
|
|
at wasm_B (7:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 4 (number)
|
|
stack: {"0":3} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:8:6: >call 0
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 3 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0:1:2: >nop
|
|
at wasm_A (1:2):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
stack: {} (Object)
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 3 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOver called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0:2:2: >nop
|
|
at wasm_A (2:2):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
stack: {} (Object)
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 3 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOut called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:9:6: >br 1
|
|
at wasm_B (9:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 3 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOut called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:7:6: >set_local 0
|
|
at wasm_B (7:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 3 (number)
|
|
stack: {"0":2} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOver called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:8:6: >call 0
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 2 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOver called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:9:6: >br 1
|
|
at wasm_B (9:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 2 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.resume called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:7:6: >set_local 0
|
|
at wasm_B (7:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 2 (number)
|
|
stack: {"0":1} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:8:6: >call 0
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0:1:2: >nop
|
|
at wasm_A (1:2):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
stack: {} (Object)
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOut called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:9:6: >br 1
|
|
at wasm_B (9:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:1:2: >loop
|
|
at wasm_B (1:2):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:2:4: >get_local 0
|
|
at wasm_B (2:4):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:3:4: >if
|
|
at wasm_B (3:4):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {"0":1} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:4:6: >get_local 0
|
|
at wasm_B (4:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:5:6: >i32.const 1
|
|
at wasm_B (5:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {"0":1} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:6:6: >i32.sub
|
|
at wasm_B (6:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {"0":1,"1":1} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:7:6: >set_local 0
|
|
at wasm_B (7:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 1 (number)
|
|
stack: {"0":0} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:8:6: >call 0
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 0 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0:1:2: >nop
|
|
at wasm_A (1:2):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
stack: {} (Object)
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 0 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0:2:2: >nop
|
|
at wasm_A (2:2):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
stack: {} (Object)
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 0 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-0:3:0: >end
|
|
at wasm_A (3:0):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
stack: {} (Object)
|
|
at wasm_B (8:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 0 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Paused at wasm://wasm/wasm-0c10a5fe/wasm-0c10a5fe-1:9:6: >br 1
|
|
at wasm_B (9:6):
|
|
- scope (global):
|
|
-- skipped
|
|
- scope (local):
|
|
param#0: 0 (number)
|
|
stack: {} (Object)
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.resume called
|
|
exports.main returned!
|
|
Finished!
|