• Ross McIlroy's avatar
    [Parser] Add support for Zone allocated ConsumedPreParsingScopeData. · 8da9dbbb
    Ross McIlroy authored
    Adds support for zone allocated (off-heap) ConsumedPreParsingScopeData to
    enable worker-thread access to PreParsingScopeData during parallel IIFE
    compile tasks.
    
    In order to avoid code-duplication, a templated
    BaseConsumedPreParsingScopeData is added which implements the logic for
    decoding the bytestream into scope data. Two implementations of this
    base class are instantiated for each of the underlying serialized scope date:
      - ZoneConsumedPreParsedScopeData for exposing ZonePreParsedScopeData
      - OnHeapConsumedPreParsedScopeData for exposing on-heap PreParsedScopeData
    The interface for each of these classes is the ConsumedPreParsingScopeData,
    which exposes the methods required by the parser to deserialize the required
    data.
    
    As a side-cleanup, moved Ucs2CharLength and Utf8LengthHelper implementations
    to cc file so that we don't get a linker error if one of them are unused by
    the cc file including the header.
    
    
    BUG=v8:8041
    
    Change-Id: Id502312d32fe4a9ddb6f5d2d9d3e3a9d30b9b27d
    Reviewed-on: https://chromium-review.googlesource.com/1199462
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#55711}
    8da9dbbb
parser.cc 161 KB