• Thibaud Michaud's avatar
    Reland "[wasm] Simplify module creation" · fc1e98ac
    Thibaud Michaud authored
    Original CL:
    > [wasm] Simplify module creation
    >
    > This includes WasmEngine::NewNativeModule() and
    WasmModuleObject::New().
    > The intent is to make the various ways of creating a module (sync,
    > async, deserialize, import) more similar.
    >
    > After this change, a NativeModule will always be created before a
    > WasmModuleObject. This will make it easier to look up a cached
    > NativeModule given its wire bytes.
    >
    > The following changes are made:
    >
    > * Use WasmCodeManager::EstimateNativeModuleCodeSize() to find the code
    >   size estimate by default. A different code size estimate is only
    used in
    >   tests.
    > * Change CompileJsToWasmWrappers() to allocate a new FixedArray
    instead of
    >   assuming the array was created with the correct size. This
    simplifies
    >   WasmModuleObject::New(), and matches what CompileToNativeModule()
    >   does.
    > * Remove the WasmModuleObject::New() constructor that creates a
    >   NativeModule. This case was only used in DeserializeNativeModule()
    and
    >   in test code.
    >
    > Change-Id: I6bdfc425057f92de11abbbf702d052d40aa8267d
    > Reviewed-on:
    https://chromium-review.googlesource.com/c/v8/v8/+/1717497
    > Commit-Queue: Ben Smith <binji@chromium.org>
    > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#62925}
    
    R=ahaas@chromium.org, clemensh@chromium.org
    CC=binji@chromium.org
    
    Change-Id: I03aa901a1df65af28f864d9aabe2b134ea132e99
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1724213
    Commit-Queue: Ben Smith <binji@chromium.org>
    Reviewed-by: 's avatarBen Smith <binji@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62996}
    fc1e98ac
module-compiler.h 7.52 KB