• Benedikt Meurer's avatar
    [inspector] Remove special wasm RemoteObject type. · cde7a77e
    Benedikt Meurer authored
    Previously we had introduced a special `v8::internal::WasmValue` type
    which we used to expose Wasm values to the Scope view in Chromium
    DevTools. The problem however is that these values cannot be exposed to
    JavaScript (and in particular not to Debug Evaluate), which means that
    particularly for v128 and i64 we have inconsistent representations
    across the various parts of DevTools.
    
    This change removes the `wasm` type from the RemoteObject and all the
    adjacent logic, and paves the way for a uniform representation of Wasm
    values throughout DevTools. For i64 we will simply use BigInt
    consistently everywhere, and for i32, f32 and f64 we'll just use Number.
    For externref we will represent the values as-is directly. For v128
    values we currently use a Uint8Array, but will introduce a dedicated
    WasmSimd128 class in a follow-up CL.
    
    Bug: chromium:1071432
    Fixed: chromium:1159402
    Change-Id: I0671e5736c9c27d7ca376e23ed74f16d36e03c80
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2614428Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71962}
    cde7a77e
api.cc 445 KB