• Leszek Swirski's avatar
    [compiler] Use SmallVector for Parser->BG thread use counts · ffdc50a9
    Leszek Swirski authored
    Change the off-thread parse to fill a SmallVector<UseCounterFeature, 8>
    on the BG compile task, rather than an int[kUseCounterFeatureCount]
    array. This allows us to keep the loop over use counts in the compile
    task finalization short by avoiding looping over unused counters.
    
    The value 8 was chosen as a "reasonable small number"; experimenting on
    our benchmarks shows a max of 3 use counts collected per compile (and
    at a vanishingly low percentage of all compiles).
    
    Passing around an explicit SmallVector<UseCounterFeature, 8> pointer,
    complete with size, is a bit ugly, but since it's used only in this one
    place (Parser -> BackgroundCompileTask) I can live with it to avoid
    further indirections. Typedeffing it is possible, but it's not clear
    where, since it's needed in both src/codegen/compiler.h and
    src/parsing/parser.h, and neither includes the other.
    
    Change-Id: Idb73e2f56fa9e8911ea29fb810d7562246f19d46
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3318662Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78305}
    ffdc50a9
compiler.cc 136 KB