dbda6c3d4f
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}
78 lines
2.0 KiB
Plaintext
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!
|