• 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
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...