f10edd0900
BREAKING CHANGE: The values of Wasm locals, stack, and globals are now represented as objects instead of holding the (primitive) values directly, and SIMD128 values are no longer represented as Uint8Arrays. The DWARF extension has been prepared for this breaking change. The new `WasmValue` comes with `type` and `value` properties that hold its contents. The motivation here is that this is a more extensible approach. In case of SIMD128, the `value` property holds the canonical string representation, which has the additional advantage that these values can be compared with `===` (and `==`). This partially reverts https://crrev.com/c/2614428, the main difference here being that WasmValue is now a proper JSObject that can be exposed on the DebugEvaluate proxy API. Screenshot: https://imgur.com/rcahNKM.png Bug: chromium:1170282, chromium:1071432, chromium:1159402 Change-Id: Iea304e3680775123c41deb4c3d172ac949da1b98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643384 Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#72570}
306 lines
7.3 KiB
Plaintext
306 lines
7.3 KiB
Plaintext
Tests stepping through wasm scripts with source maps
|
|
|
|
Running test: test
|
|
Got wasm script: wasm://wasm/9b4bf87e
|
|
Script sourceMapURL: abc
|
|
Requesting source for wasm://wasm/9b4bf87e...
|
|
Source retrieved without error: true
|
|
Setting breakpoint on offset 54 (on the setlocal before the call), url wasm://wasm/9b4bf87e
|
|
{
|
|
columnNumber : 54
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
}
|
|
Script wasm://wasm/9b4bf87e byte offset 54: Wasm opcode 0x21 (kExprLocalSet)
|
|
at wasm_B (0:54):
|
|
- scope (wasm-expression-stack):
|
|
0: 3 (i32)
|
|
- scope (local):
|
|
$var0: 4 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 56: Wasm opcode 0x10 (kExprCallFunction)
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 3 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 38: Wasm opcode 0x01 (kExprNop)
|
|
at wasm_A (0:38):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
- scope (module):
|
|
-- skipped
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 3 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOver called
|
|
Script wasm://wasm/9b4bf87e byte offset 39: Wasm opcode 0x01 (kExprNop)
|
|
at wasm_A (0:39):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
- scope (module):
|
|
-- skipped
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 3 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOut called
|
|
Script wasm://wasm/9b4bf87e byte offset 58: Wasm opcode 0x0c (kExprBr)
|
|
at wasm_B (0:58):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 3 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOut called
|
|
Script wasm://wasm/9b4bf87e byte offset 54: Wasm opcode 0x21 (kExprLocalSet)
|
|
at wasm_B (0:54):
|
|
- scope (wasm-expression-stack):
|
|
0: 2 (i32)
|
|
- scope (local):
|
|
$var0: 3 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOver called
|
|
Script wasm://wasm/9b4bf87e byte offset 56: Wasm opcode 0x10 (kExprCallFunction)
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 2 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOver called
|
|
Script wasm://wasm/9b4bf87e byte offset 58: Wasm opcode 0x0c (kExprBr)
|
|
at wasm_B (0:58):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 2 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.resume called
|
|
Script wasm://wasm/9b4bf87e byte offset 54: Wasm opcode 0x21 (kExprLocalSet)
|
|
at wasm_B (0:54):
|
|
- scope (wasm-expression-stack):
|
|
0: 1 (i32)
|
|
- scope (local):
|
|
$var0: 2 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 56: Wasm opcode 0x10 (kExprCallFunction)
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 38: Wasm opcode 0x01 (kExprNop)
|
|
at wasm_A (0:38):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
- scope (module):
|
|
-- skipped
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepOut called
|
|
Script wasm://wasm/9b4bf87e byte offset 58: Wasm opcode 0x0c (kExprBr)
|
|
at wasm_B (0:58):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 45: Wasm opcode 0x20 (kExprLocalGet)
|
|
at wasm_B (0:45):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 47: Wasm opcode 0x04 (kExprIf)
|
|
at wasm_B (0:47):
|
|
- scope (wasm-expression-stack):
|
|
0: 1 (i32)
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 49: Wasm opcode 0x20 (kExprLocalGet)
|
|
at wasm_B (0:49):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 51: Wasm opcode 0x41 (kExprI32Const)
|
|
at wasm_B (0:51):
|
|
- scope (wasm-expression-stack):
|
|
0: 1 (i32)
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 53: Wasm opcode 0x6b (kExprI32Sub)
|
|
at wasm_B (0:53):
|
|
- scope (wasm-expression-stack):
|
|
0: 1 (i32)
|
|
1: 1 (i32)
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 54: Wasm opcode 0x21 (kExprLocalSet)
|
|
at wasm_B (0:54):
|
|
- scope (wasm-expression-stack):
|
|
0: 0 (i32)
|
|
- scope (local):
|
|
$var0: 1 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 56: Wasm opcode 0x10 (kExprCallFunction)
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 0 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 38: Wasm opcode 0x01 (kExprNop)
|
|
at wasm_A (0:38):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
- scope (module):
|
|
-- skipped
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 0 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 39: Wasm opcode 0x01 (kExprNop)
|
|
at wasm_A (0:39):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
- scope (module):
|
|
-- skipped
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 0 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 40: Wasm opcode 0x0b (kExprEnd)
|
|
at wasm_A (0:40):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
- scope (module):
|
|
-- skipped
|
|
at wasm_B (0:56):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 0 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.stepInto called
|
|
Script wasm://wasm/9b4bf87e byte offset 58: Wasm opcode 0x0c (kExprBr)
|
|
at wasm_B (0:58):
|
|
- scope (wasm-expression-stack):
|
|
- scope (local):
|
|
$var0: 0 (i32)
|
|
- scope (module):
|
|
-- skipped
|
|
at (anonymous) (0:17):
|
|
- scope (global):
|
|
-- skipped
|
|
Debugger.resume called
|
|
exports.main returned!
|