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}
67 lines
1.9 KiB
Plaintext
67 lines
1.9 KiB
Plaintext
Test conditional breakpoints in wasm.
|
|
|
|
Running test: test
|
|
Instantiating.
|
|
Waiting for wasm script.
|
|
Got wasm script: wasm://wasm/f00dbc56
|
|
Setting breakpoint at offset 34, condition "false"
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
actualLocation : {
|
|
columnNumber : 34
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
}
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Setting breakpoint at offset 41, condition "true"
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
actualLocation : {
|
|
columnNumber : 41
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
}
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Setting breakpoint at offset 46, condition "$var0.value==3"
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
actualLocation : {
|
|
columnNumber : 46
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
}
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Calling fib(5)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 5 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 4 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 3 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 46: Wasm opcode 0x10 (kExprCallFunction)
|
|
$var0: 3 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 2 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 1 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 2 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 3 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 46: Wasm opcode 0x10 (kExprCallFunction)
|
|
$var0: 3 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 2 (i32)
|
|
Script wasm://wasm/f00dbc56 byte offset 41: Wasm opcode 0x0d (kExprBrIf)
|
|
$var0: 1 (i32)
|
|
fib returned!
|