• Andreas Haas's avatar
    [wasm] Allow the initialization of a single compilation unit · ca931562
    Andreas Haas authored
    This CL adds a new function {InitializeCompilationUnit} to initialize
    a single compilation unit and not just all compilation units at once.
    This is necessary for streaming compilation eventually. This also
    required some refactoring on how the working queue for compilation units
    works. Previously the synchronization was done with an atomic counter,
    now it is done with a lock. Note that the code to finish compilation
    of a module still only works if the working queue gets only empty when
    all work is done. I plan to change this in a different CL.
    
    Since the code would not be tested without streaming compilation, I added
    an experimental flag and a test to test the new code.
    
    R=clemensh@chromium.org, mtrofin@chromium.org
    
    Change-Id: I839c04fd78d1ea8e1db202f2cbed41c4c2cf4f28
    Reviewed-on: https://chromium-review.googlesource.com/550096
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46348}
    ca931562
module-compiler.cc 97 KB