• Andreas Haas's avatar
    [wasm] Extract module compilation code into module-compiler.cc · c7892d35
    Andreas Haas authored
    This CL extracts the classes CompilationHelper, InstantiationHelper,
    and AsyncCompileJob from wasm-module.cc and puts them into
    module-compiler.{h|cc}. This is necessary to introduce a
    WasmCompilationManager which is known to the isolate and manages the
    lifetime of all AsyncCompileJobs.
    
    In addition to the mechanical changes of copying the code and splitting
    class declaration from instantiation, I did the following changes:
    
    * I renamed the CompilationHelper to ModuleCompiler.
    * A finalizer function is passed to the InstantiationHelper as a
      parameter.
    * Adjusted UpdateDispatchTable in wasm-module.cc to make it available in
      wasm-module.h, also with the internal signature.
    * Duplicate the ResolvePromise/RejectPromise helper functions.
    
    I did not rename InstantiationHelper because I could not come up with a
    good name, and it could benefit from a small special refactoring anyways.
    
    BUG=v8:6436
    R=clemensh@chromium.org, mtrofin@chromium.org
    
    Change-Id: I4abe854c36dfc995b34c9d7b3e7ec0f4f0aa562e
    Reviewed-on: https://chromium-review.googlesource.com/525572
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#45773}
    c7892d35
wasm-module.cc 45.6 KB