| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 21004dd commit 63ebad5
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4104,10 +4104,12 @@ class V8_EXPORT WasmCompiledModule : public Object { | |||
| 4104 | 4104 | // supports move semantics, and does not support copy semantics. | |
| 4105 | 4105 | class TransferrableModule final { | |
| 4106 | 4106 | public: | |
| 4107 | - TransferrableModule(TransferrableModule&& src) = default; | ||
| 4107 | + TransferrableModule(TransferrableModule&& src) | ||
| 4108 | + : compiled_code(std::move(src.compiled_code)), | ||
| 4109 | + wire_bytes(std::move(src.wire_bytes)) {} | ||
| 4108 | 4110 | TransferrableModule(const TransferrableModule& src) = delete; | |
| 4109 | 4111 | ||
| 4110 | - TransferrableModule& operator=(TransferrableModule&& src) = default; | ||
| 4112 | + TransferrableModule& operator=(TransferrableModule&& src); | ||
| 4111 | 4113 | TransferrableModule& operator=(const TransferrableModule& src) = delete; | |
| 4112 | 4114 | ||
| 4113 | 4115 | private: | |
@@ -4180,9 +4182,11 @@ class V8_EXPORT WasmModuleObjectBuilder final { | |||
| 4180 | 4182 | // Disable copy semantics *in this implementation*. We can choose to | |
| 4181 | 4183 | // relax this, albeit it's not clear why. | |
| 4182 | 4184 | WasmModuleObjectBuilder(const WasmModuleObjectBuilder&) = delete; | |
| 4183 | - WasmModuleObjectBuilder(WasmModuleObjectBuilder&&) = default; | ||
| 4185 | + WasmModuleObjectBuilder(WasmModuleObjectBuilder&& src) | ||
| 4186 | + : received_buffers_(std::move(src.received_buffers_)), | ||
| 4187 | + total_size_(src.total_size_) {} | ||
| 4184 | 4188 | WasmModuleObjectBuilder& operator=(const WasmModuleObjectBuilder&) = delete; | |
| 4185 | - WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&) = default; | ||
| 4189 | + WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&); | ||
| 4186 | 4190 | ||
| 4187 | 4191 | std::vector<Buffer> received_buffers_; | |
| 4188 | 4192 | size_t total_size_ = 0; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7723,6 +7723,14 @@ Local<String> WasmCompiledModule::GetWasmWireBytes() { | |||
| 7723 | 7723 | return Local<String>::Cast(Utils::ToLocal(wire_bytes)); | |
| 7724 | 7724 | } | |
| 7725 | 7725 | ||
| 7726 | + WasmCompiledModule::TransferrableModule& | ||
| 7727 | + WasmCompiledModule::TransferrableModule::operator=( | ||
| 7728 | + TransferrableModule&& src) { | ||
| 7729 | + compiled_code = std::move(src.compiled_code); | ||
| 7730 | + wire_bytes = std::move(src.wire_bytes); | ||
| 7731 | + return *this; | ||
| 7732 | + } | ||
| 7733 | + | ||
| 7726 | 7734 | // Currently, wasm modules are bound, both to Isolate and to | |
| 7727 | 7735 | // the Context they were created in. The currently-supported means to | |
| 7728 | 7736 | // decontextualize and then re-contextualize a module is via | |
@@ -7836,6 +7844,13 @@ MaybeLocal<WasmCompiledModule> WasmModuleObjectBuilder::Finish() { | |||
| 7836 | 7844 | return WasmCompiledModule::Compile(isolate_, wire_bytes.get(), total_size_); | |
| 7837 | 7845 | } | |
| 7838 | 7846 | ||
| 7847 | + WasmModuleObjectBuilder& | ||
| 7848 | + WasmModuleObjectBuilder::operator=(WasmModuleObjectBuilder&& src) { | ||
| 7849 | + received_buffers_ = std::move(src.received_buffers_); | ||
| 7850 | + total_size_ = src.total_size_; | ||
| 7851 | + return *this; | ||
| 7852 | + } | ||
| 7853 | + | ||
| 7839 | 7854 | // static | |
| 7840 | 7855 | v8::ArrayBuffer::Allocator* v8::ArrayBuffer::Allocator::NewDefaultAllocator() { | |
| 7841 | 7856 | return new ArrayBufferAllocator(); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments