• Iain Ireland's avatar
    [regexp] Use ZoneVector in parser and compiler · 5b44c169
    Iain Ireland authored
    For a variety of reasons related to OOM handling and custom
    allocators, SpiderMonkey wants to be able to see all memory
    allocations. To enforce this, we have a static analysis that verifies
    that we don't link in malloc/new/etc in unexpected places. One
    consequence of this is that we can't use STL containers without a
    custom allocator, because they call operator new internally.
    
    This is mostly not an issue in irregexp, which makes heavy use of zone
    allocation. The main exceptions are a handful of uses of std::vector
    in regexp-compiler.* and regexp-parser.*. If these vectors are
    converted to ZoneVectors, then our static analysis is satisfied.
    
    R=jgruber@chromium.org
    
    Bug: v8:10303
    Change-Id: I8b14a2eb54d3b20959e3fbe878f77effae124a2c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2091402Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66674}
    5b44c169
regexp-compiler.h 22.3 KB