Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5fb7a0b

Browse filesBrowse files
bzozaddaleax
authored andcommitted
deps: fix addons compilation with VS2013
VS2013 does not support defaulting move constructor and assignment operator. This adds explicit definitions of those methods for two classes. This fix is required because we still support building addons with VS2013 and the incompatibility is in v8.h. Fixes: nodejs/node-v8#4 PR-URL: #13263 Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com>
1 parent ad928c0 commit 5fb7a0b
Copy full SHA for 5fb7a0b

File tree

Expand file treeCollapse file tree

2 files changed

+23
-4
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+23
-4
lines changed
Open diff view settings
Collapse file

‎deps/v8/include/v8.h‎

Copy file name to clipboardExpand all lines: deps/v8/include/v8.h
+8-4Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4025,10 +4025,12 @@ class V8_EXPORT WasmCompiledModule : public Object {
40254025
// supports move semantics, and does not support copy semantics.
40264026
class TransferrableModule final {
40274027
public:
4028-
TransferrableModule(TransferrableModule&& src) = default;
4028+
TransferrableModule(TransferrableModule&& src)
4029+
: compiled_code(std::move(src.compiled_code)),
4030+
wire_bytes(std::move(src.wire_bytes)) {}
40294031
TransferrableModule(const TransferrableModule& src) = delete;
40304032

4031-
TransferrableModule& operator=(TransferrableModule&& src) = default;
4033+
TransferrableModule& operator=(TransferrableModule&& src);
40324034
TransferrableModule& operator=(const TransferrableModule& src) = delete;
40334035

40344036
private:
@@ -4101,9 +4103,11 @@ class V8_EXPORT WasmModuleObjectBuilder final {
41014103
// Disable copy semantics *in this implementation*. We can choose to
41024104
// relax this, albeit it's not clear why.
41034105
WasmModuleObjectBuilder(const WasmModuleObjectBuilder&) = delete;
4104-
WasmModuleObjectBuilder(WasmModuleObjectBuilder&&) = default;
4106+
WasmModuleObjectBuilder(WasmModuleObjectBuilder&& src)
4107+
: received_buffers_(std::move(src.received_buffers_)),
4108+
total_size_(src.total_size_) {}
41054109
WasmModuleObjectBuilder& operator=(const WasmModuleObjectBuilder&) = delete;
4106-
WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&) = default;
4110+
WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&);
41074111

41084112
std::vector<Buffer> received_buffers_;
41094113
size_t total_size_ = 0;
Collapse file

‎deps/v8/src/api.cc‎

Copy file name to clipboardExpand all lines: deps/v8/src/api.cc
+15Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7592,6 +7592,14 @@ Local<String> WasmCompiledModule::GetWasmWireBytes() {
75927592
return Local<String>::Cast(Utils::ToLocal(wire_bytes));
75937593
}
75947594

7595+
WasmCompiledModule::TransferrableModule&
7596+
WasmCompiledModule::TransferrableModule::operator=(
7597+
TransferrableModule&& src) {
7598+
compiled_code = std::move(src.compiled_code);
7599+
wire_bytes = std::move(src.wire_bytes);
7600+
return *this;
7601+
}
7602+
75957603
// Currently, wasm modules are bound, both to Isolate and to
75967604
// the Context they were created in. The currently-supported means to
75977605
// decontextualize and then re-contextualize a module is via
@@ -7706,6 +7714,13 @@ MaybeLocal<WasmCompiledModule> WasmModuleObjectBuilder::Finish() {
77067714
return WasmCompiledModule::Compile(isolate_, wire_bytes.get(), total_size_);
77077715
}
77087716

7717+
WasmModuleObjectBuilder&
7718+
WasmModuleObjectBuilder::operator=(WasmModuleObjectBuilder&& src) {
7719+
received_buffers_ = std::move(src.received_buffers_);
7720+
total_size_ = src.total_size_;
7721+
return *this;
7722+
}
7723+
77097724
// static
77107725
v8::ArrayBuffer::Allocator* v8::ArrayBuffer::Allocator::NewDefaultAllocator() {
77117726
return new ArrayBufferAllocator();

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.