• Samuel Groß's avatar
    Only use the caging ArrayBufferAllocator when the heap sandbox is on · 7436a7b7
    Samuel Groß authored
    The current implementation of the default ArrayBufferAllocator for the
    virtual memory cage is highly inefficient as it simply forwards all
    requests to the cage's PageAllocator. With this CL, this allocator is
    now only used when the heap sandbox is enabled, in which case
    ArrayBuffer backing stores must be located inside the cage. In all other
    cases, in particular when only the virtual memory cage is enabled, the
    backing stores can be located outside the cage and so the malloc-based
    ArrayBufferAllocator is used.
    
    This change only affects configurations in which V8's default
    ArrayBufferAllocator is used.
    
    Bug: chromium:1218005
    Change-Id: I39cb5de3034ccd4b6975dc5193d8c7309857433b
    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/+/3205018Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77276}
    7436a7b7
api.cc 402 KB