diff options
author | Michaël Zasso <targos@protonmail.com> | 2019-10-21 16:07:44 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2019-11-08 15:50:50 +0100 |
commit | d56f9a9b86b051c64709e80b6ec0e34198de4890 (patch) | |
tree | b38c51100c059ce3f945074d5c83c9a7d9f9b805 /deps | |
parent | d751952c48325563cbdcd7d263db9ba112f3acc9 (diff) | |
download | android-node-v8-d56f9a9b86b051c64709e80b6ec0e34198de4890.tar.gz android-node-v8-d56f9a9b86b051c64709e80b6ec0e34198de4890.tar.bz2 android-node-v8-d56f9a9b86b051c64709e80b6ec0e34198de4890.zip |
deps: V8: cherry-pick cfe9172
Original commit message:
[wasm] Disallow interpreter move
The MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR macro defines a defaulted move
constructor and move-assignment operator. The {std::unique_ptr} on the
other hand needs the contained type to be complete when instantiating
the move assignment operator. Hence, this fails e.g. on MSVC, see
https://github.com/nodejs/node/pull/30020#issuecomment-544485991.
It turns out that we never actually move the interpreter, so we can
just replace the MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR by
DISALLOW_COPY_AND_ASSIGN.
R=ahaas@chromium.org
Change-Id: Iba7d30243510ed9554be62b0c4c8e6f47f0c3307
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871921
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64423}
Refs: https://github.com/v8/v8/commit/cfe9172e64795a69112f8247bdcc00954ca9515e
PR-URL: https://github.com/nodejs/node/pull/30020
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/src/wasm/wasm-debug.cc | 4 | ||||
-rw-r--r-- | deps/v8/src/wasm/wasm-interpreter.h | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/deps/v8/src/wasm/wasm-debug.cc b/deps/v8/src/wasm/wasm-debug.cc index ea989c081d..f3580e4427 100644 --- a/deps/v8/src/wasm/wasm-debug.cc +++ b/deps/v8/src/wasm/wasm-debug.cc @@ -97,7 +97,6 @@ MaybeHandle<String> GetLocalName(Isolate* isolate, } class InterpreterHandle { - MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR(InterpreterHandle); Isolate* isolate_; const WasmModule* module_; WasmInterpreter interpreter_; @@ -461,6 +460,9 @@ class InterpreterHandle { } return local_scope_object; } + + private: + DISALLOW_COPY_AND_ASSIGN(InterpreterHandle); }; } // namespace diff --git a/deps/v8/src/wasm/wasm-interpreter.h b/deps/v8/src/wasm/wasm-interpreter.h index 4eb0675aba..e0a32c71d6 100644 --- a/deps/v8/src/wasm/wasm-interpreter.h +++ b/deps/v8/src/wasm/wasm-interpreter.h @@ -172,8 +172,6 @@ class V8_EXPORT_PRIVATE WasmInterpreter { uint32_t ActivationFrameBase(uint32_t activation_id); }; - MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR(WasmInterpreter); - WasmInterpreter(Isolate* isolate, const WasmModule* module, const ModuleWireBytes& wire_bytes, Handle<WasmInstanceObject> instance); @@ -220,6 +218,8 @@ class V8_EXPORT_PRIVATE WasmInterpreter { private: Zone zone_; std::unique_ptr<WasmInterpreterInternals> internals_; + + DISALLOW_COPY_AND_ASSIGN(WasmInterpreter); }; } // namespace wasm |