v8/test/inspector/debugger/wasm-get-breakable-locations-byte-offsets-expected.txt
Clemens Backes dbda6c3d4f [wasm][debug] Make some control opcodes non-breakable
Most control structures in WebAssembly do not have a clear execution
semantics, they are more like markers. Hence the execute state, and the
change in the state, when breaking on them and stepping over them is
unclear.
Hence this CL just makes them non-breakable. If the user tries to set a
breakpoint on them, this breakpoint will automatically be propagated to
the first instruction after the respective control opcode (this is
tested for other cases in existing tests).

R=thibaudm@chromium.org

Bug: v8:10326
Change-Id: Iaf540a94789c9cbc87d23ddfb794e4b01776b49f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122017
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66876}
2020-03-26 16:49:43 +00:00

78 lines
2.0 KiB
Plaintext

Tests breakable locations in wasm
Running testFunction...
Script nr 0 parsed. URL: v8://test/setup
Script nr 1 parsed. URL: v8://test/runTestFunction
Script nr 2 parsed. URL: wasm://wasm/354ada0e
This is a wasm script (nr 0).
Querying breakable locations for all wasm scripts now...
Requesting all breakable locations in wasm script 0
Bytecode matches!
10 breakable location(s):
[0] 0:40 || byte=1
[1] 0:41 || byte=65
[2] 0:43 || byte=33
[3] 0:45 || byte=11
[4] 0:48 || byte=32
[5] 0:50 || byte=4
[6] 0:54 || byte=16
[7] 0:56 || byte=11
[8] 0:57 || byte=11
[9] 0:58 || byte=11
Requesting breakable locations in offsets [0,45)
3 breakable location(s):
[0] 0:40 || byte=1
[1] 0:41 || byte=65
[2] 0:43 || byte=33
Requesting breakable locations in offsets [50,60)
5 breakable location(s):
[0] 0:50 || byte=4
[1] 0:54 || byte=16
[2] 0:56 || byte=11
[3] 0:57 || byte=11
[4] 0:58 || byte=11
Setting a breakpoint on each breakable location...
Setting at wasm://wasm/354ada0e:0:40
Success!
Setting at wasm://wasm/354ada0e:0:41
Success!
Setting at wasm://wasm/354ada0e:0:43
Success!
Setting at wasm://wasm/354ada0e:0:45
Success!
Setting at wasm://wasm/354ada0e:0:48
Success!
Setting at wasm://wasm/354ada0e:0:50
Success!
Setting at wasm://wasm/354ada0e:0:54
Success!
Setting at wasm://wasm/354ada0e:0:56
Success!
Setting at wasm://wasm/354ada0e:0:57
Success!
Setting at wasm://wasm/354ada0e:0:58
Success!
Running wasm code...
Missing breakpoints: 10
Script nr 3 parsed. URL: v8://test/runWasm
Stopped at wasm://wasm/354ada0e:0:48
Missing breakpoints: 9
Stopped at wasm://wasm/354ada0e:0:50
Missing breakpoints: 8
Stopped at wasm://wasm/354ada0e:0:54
Missing breakpoints: 7
Stopped at wasm://wasm/354ada0e:0:40
Missing breakpoints: 6
Stopped at wasm://wasm/354ada0e:0:41
Missing breakpoints: 5
Stopped at wasm://wasm/354ada0e:0:43
Missing breakpoints: 4
Stopped at wasm://wasm/354ada0e:0:45
Missing breakpoints: 3
Stopped at wasm://wasm/354ada0e:0:56
Missing breakpoints: 2
Stopped at wasm://wasm/354ada0e:0:57
Missing breakpoints: 1
Stopped at wasm://wasm/354ada0e:0:58
Missing breakpoints: 0
Finished!