• clemensh's avatar
    [wasm] Implement stepping in wasm code · 3dea55b4
    clemensh authored
    Implement stepping by remembering the current step action in the wasm
    interpreter handle in WasmDebugInfo, and using it when continuing
    execution in the interpreter.
    The control flow is as follows: After module compilation, the user sets
    a breakpoint in wasm. The respective function is redirected to the
    interpreter and the breakpoint is set on the interpreter. When it is
    hit, we notify all debug event listeners, which might prepare stepping.
    When returning from these listeners, before continuing execution, we
    check whether stepping was requested and continue execution in the
    interpreter accordingly.
    
    Stepping from Wasm to JS and vice versa will be implemented and tested
    in a follow-up CL. Testing this requires breakpoints and stepping in
    Wasm to be exposed via the inspector interface, such that we can write
    an inspector test. This mixed JS-Wasm-execution is hard to set up in a
    cctest.
    
    R=titzer@chromium.org, yangguo@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2649533002
    Cr-Commit-Position: refs/heads/master@{#42624}
    3dea55b4
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...