• Ross McIlroy's avatar
    [AsmJs] Avoid allocation of WasmModuleObject until instantiation. · ccd8073c
    Ross McIlroy authored
    Moves allocation of the WasmModuleObject for asm.js code out of SyncCompileTranslatedAsmJS
    since that is called when we are compiling the native context independent SharedFunctionInfo
    and the WasmModuleObject requires a native context. Instead save the members required to
    create the object in the AsmWasmData and create it during module instantiation. Note:
    since the Wasm module is an implementation detail for asm_wasm code and isn't exposed,
    this doeesn't have semantic change for asm.js code.
    
    As part of this change, the AsmWasmData is changed from a FixedArray to a dedicated
    struct. Some logic is also moved from module-compiler to wasm-engine to make the
    seperation between Wasm SyncCompile and AsmJS SyncCompile more clear.
    
    BUG=chromium:900535,v8:8395
    
    Change-Id: Ia48469c095b0688f210aa86e7430c9ab4ea4b26b
    Reviewed-on: https://chromium-review.googlesource.com/c/1345509
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57704}
    ccd8073c
runtime-compiler.cc 13 KB