Skip to content

[8.x] deps: V8: backport 49712d8a from upstream

Original commit message:

[wasm] Call AsyncInstantiate directly when instantiating a module object

WebAssembly.instantiate is polymorphic, it can either take a module object as parameter, or a buffer source which should be compiled first. To share code between the two implementations, the module object was first passed to a promise (i.e. which is the result of compilation). However, passing the module object to a promise has a side effect if the module object has a then function. To avoid this side effect I remove this code sharing and call AsyncInstantiate directly in case the parameter is a module object.

R=mstarzinger@chromium.org

Bug: chromium:836141 Change-Id: I67b76d0d7761c5aeb2cf1deda45b6842e494eed4 Reviewed-on: https://chromium-review.googlesource.com/1025774 Reviewed-by: Michael Starzinger mstarzinger@chromium.org Commit-Queue: Andreas Haas ahaas@chromium.org Cr-Commit-Position: refs/heads/master@{#52755}

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

This effects 9.x as well, but I expect it is not worthwhile fixing there at this point.

/cc @nodejs/v8-update

V8-CI: https://ci.nodejs.org/view/All/job/node-test-commit-v8-linux/1425/

Merge request reports

Loading