• Leszek Swirski's avatar
    [parser] Allow cloning chunked streams · 602de389
    Leszek Swirski authored
    This allows streamed sources to also trigger parallel compile tasks. The
    chunk vectors are shared via std::shared_ptr.
    
    Clone chunked streams are initialised with a null source, and are not
    allowed to fetch any more data. Similarly, the original stream is not
    allowed to fetch data if it has been cloned (since the vector is shared
    and would mutate if we added more data to it).
    
    This is ok for the purposes of cloning for parallel compile tasks, as we
    fully parse before cloning for the task.
    
    Change-Id: Ic268e4956e0894acb63111bf0aaf32eaad426066
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3310917
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78209}
    602de389
scanner-character-streams.cc 34.3 KB