• Benedikt Meurer's avatar
    [inspector] Send type as description for WasmValueObject. · 987a7f4a
    Benedikt Meurer authored
    Also block sending "type" as part of the ObjectPreview, but only send
    the "value" property. The front-end will be updated to display
    WasmValueObject's similar to what we do for wrapper objects (i.e.
    StringWrapper and the like). The matching front-end change is still
    pending.
    
    Also refactor the WasmValueObject to have dedicated constructors for
    the individual types (i32, i64, f32, f64, externref and v128). This
    way we can just reuse the existing logic in descriptionForObject()
    and we also don't need to store the "type" on the object itself (not
    really performance sensitive, but fewer moving parts / things that
    can go wrong).
    
    This also addresses the crash in https://crbug.com/1166077#c16 since
    the WasmValueObject instances now have a proper JSFunction in their
    maps' constructor_or_backpointer slot and are thus able to locate
    their creation context. Note that this doesn't generally address
    https://crbug.com/1166077 itself, but only the WasmValueObject case.
    
    Screenshot: https://imgur.com/kbd3bix.png
    Bug: chromium:1170282, chromium:1071432
    Bug: chromium:1159402, chromium:1166077
    Change-Id: Iae649cad155efd774cfb1f4eea8cf406e413c03a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692574Reviewed-by: 's avatarPhilip Pfaffe <pfaffe@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72736}
    987a7f4a
value-mirror.cc 64.8 KB