• Leszek Swirski's avatar
    [compiler-dispatcher] Move to full SFI keying · 14097e62
    Leszek Swirski authored
    Remove the concept of JobId from LazyCompileDispatcher, and make SFIs
    the canonical id for these jobs.
    
    This has several consequences:
    
      * We no longer split enqueing a job and registering a SFI with that
        job. We did this previously because we could not allocate SFIs in
        the Parser -- now with LocalHeap we can, so we do.
      * We remove the separate Job vector, and make the SFI IdentityMap
        hold pointers to Jobs directly. This requires a small amount of
        extra care to deallocate Jobs when removing them from the map,
        but it means not having to allocate new global handles for jobs.
      * The SFI is passed into the BackgroundCompileTask instead of the
        script, so our task finalization doesn't need the SFI anymore.
      * We no longer need to iterate ParallelTasks after compiling (to
        register SFIs), so we can get rid of ParallelTasks entirely and
        access the dispatcher directly from the parser.
    
    There are a few drive-bys since we're touching this code:
    
      * Jobs are move to have a "state" variable rather than a collection
        of bools, for stricter DCHECKing.
      * There's no longer a set of "currently running" jobs, since this
        was only used to check if a job is running, we can instead inspect
        the job's state directly.
      * s/LazyCompilerDispatcher/LazyCompileDispatcher/g
    
    Change-Id: I85e4bd6db108f5e8e7fe2e919c548ce45796dd50
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259647
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarVictor Gomes <victorgomes@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77712}
    14097e62
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...