• 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
Name
Last commit
Last update
..
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
expression-scope.h Loading commit data...
func-name-inferrer.cc Loading commit data...
func-name-inferrer.h Loading commit data...
import-assertions.cc Loading commit data...
import-assertions.h Loading commit data...
keywords-gen.h Loading commit data...
keywords.txt Loading commit data...
literal-buffer.cc Loading commit data...
literal-buffer.h Loading commit data...
parse-info.cc Loading commit data...
parse-info.h Loading commit data...
parser-base.h Loading commit data...
parser.cc Loading commit data...
parser.h Loading commit data...
parsing.cc Loading commit data...
parsing.h Loading commit data...
pending-compilation-error-handler.cc Loading commit data...
pending-compilation-error-handler.h Loading commit data...
preparse-data-impl.h Loading commit data...
preparse-data.cc Loading commit data...
preparse-data.h Loading commit data...
preparser-logger.h Loading commit data...
preparser.cc Loading commit data...
preparser.h Loading commit data...
rewriter.cc Loading commit data...
rewriter.h Loading commit data...
scanner-character-streams.cc Loading commit data...
scanner-character-streams.h Loading commit data...
scanner-inl.h Loading commit data...
scanner.cc Loading commit data...
scanner.h Loading commit data...
token.cc Loading commit data...
token.h Loading commit data...