• Ingvar Stepanyan's avatar
    Add support for reporting raw Wasm scripts · c7848612
    Ingvar Stepanyan authored
    This addition will allow to experiment with parsing DWARF information from
    WebAssembly on the frontend side for improved debugging.
    
    The frontend must explicitly opt-in to this experiment by setting
    `supportsWasmDwarf: true` in `Debugger.enable` params.
    
    When this option is present, and Wasm appears to contain DWARF information
    (heuristic: `.debug_info` custom section is present), V8 will not try to
    disassemble and report each WebAssembly function as a separate fake script, but
    instead will report Wasm module as a whole.
    
    Note that V8 already does this when Wasm is associated with a source map.
    
    Additionally, this CL adds a dedicated `Debugger.getWasmBytecode` command that
    accepts scriptId and returns raw wire bytes of the chosen WebAssembly module.
    
    Change-Id: I7a6e80daf8d91ffaaba04fa15688f2ba9552870f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809375
    Commit-Queue: Ingvar Stepanyan <rreverser@google.com>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63969}
    c7848612
api.cc 415 KB