• Benedikt Meurer's avatar
    [inspector][wasm] Improve Scope view and instance preview. · a23adbbc
    Benedikt Meurer authored
    This adds the following internal properties to `WasmInstanceObject`
    values in DevTools:
    
     - `[[Module]]` pointing to the `WasmModuleObject`, allowing the
       developer to find the module to an instance no matter where in
       DevTools front-end the instance is inspected.
     - `[[Functions]]`, `[[Globals]]`, `[[Memories]]`, and `[[Tables]]`
       are shown (when they aren't empty), allowing developers to inspect
       the entities within an instance no matter where in DevTools front-end
       it's inspected.
    
    This also updates the _Module_ scope for Wasm frames to show the entity
    containers (`functions`, `globals`, `memories` and `tables`) in addition
    to the `instance` and `module` to make it easier accessible (fewer
    clicks to get there), but also to align it better with the _Add property
    path to Watch_ and _Copy property path_ features (since exactly the same
    names are exposed via Debug Evaluate on Wasm frames).
    
    ```
    > Stack
    > Locals
    v Module
      > module
      > instance
      > functions
      > globals
      > memories
      > tables
    ```
    
    Drive-by-fix: Move GetWasmModuleObjectInternalProperties() logic into
    debug-wasm-support.cc
    
    Screenshot: https://imgur.com/ksEHG2I.png
    Doc: http://bit.ly/devtools-wasm-entities
    Fixed: chromium:1165294
    Bug: chromium:1071432, chromium:1164241, chromium:1165304
    Change-Id: Ia88fb2705287c79988ff2b432e4a33ac34e098f5
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622912Reviewed-by: 's avatarPhilip Pfaffe <pfaffe@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72042}
    a23adbbc