• Peter Marshall's avatar
    [cleanup] Replace List with std::vector in api. · 329f6946
    Peter Marshall authored
    The members of HandleScopeImplementer are copied with memcpy when
    the isolate is transferred to another thread. List contained some
    primitives which allowed us to manually free the backing store, which
    was needed in order to ensure that threads would not hold on to
    old pointers and use them later. With std::vector, we can't do that.
    
    Here we change the HandleScopeImplementer to instead use a custom
    structure DetachableVector, which contains a std::vector but allows
    manual detaching and freeing of the backing store. This allows us to
    maintain the old behavior.
    
    Bug: v8:6333
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: I6361d161cdb19878ba19ed51d6ba2fae99e8cdc0
    Reviewed-on: https://chromium-review.googlesource.com/660125Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48197}
    329f6946
detachable-vector.h 1.88 KB