• Samuel Groß's avatar
    Use CagedPointers for ArrayBuffer backing stores · 42ed4928
    Samuel Groß authored
    This CL turns references to ArrayBuffer backing stores from
    JSArrayBuffers, JSTypedArrays, and JSDataViews into CagedPointers
    when those are enabled.
    
    CagedPointers cannot generally represent nullptr, as NULL usually lies
    outside the cage. As such, nullptr backing stores are replaced with a
    special empty backing store value, which, in the current implementation,
    points to the end of the cage, right in front of the trailing guard
    regions. Due to this, it is no longer correct to compare a backing store
    pointer against nullptr.
    
    Bug: chromium:1218005
    Change-Id: I4a6c7a82aabb4debcb6bb2babe4035ba2da8e79f
    Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3244419
    Commit-Queue: Samuel Groß <saelo@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78218}
    42ed4928
caged-pointer.h 713 Bytes