|
@@ -1,40 +0,0 @@
|
|
|
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
-From: Jeremy Rose <[email protected]>
|
|
|
-Date: Wed, 28 Sep 2022 14:44:32 -0700
|
|
|
-Subject: force CppHeapCreateParams to be noncopyable
|
|
|
-
|
|
|
-Ref https://chromium-review.googlesource.com/c/v8/v8/+/3348007
|
|
|
-
|
|
|
-Without this change, clang on windows for some reason thinks that
|
|
|
-CppHeapCreateParams is copyable and tries to generate copy
|
|
|
-constructors for it, which doesn't work because vector<unique_ptr>
|
|
|
-isn't copyable.
|
|
|
-
|
|
|
-If Electron compiles on Windows without this patch then it's no longer
|
|
|
-needed.
|
|
|
-
|
|
|
-diff --git a/include/v8-cppgc.h b/include/v8-cppgc.h
|
|
|
-index 4a457027c9f76b5d75f8f693ebe31fd616134849..16548d3053563d2a5891fb8967a2b63a1f920f95 100644
|
|
|
---- a/include/v8-cppgc.h
|
|
|
-+++ b/include/v8-cppgc.h
|
|
|
-@@ -76,6 +76,12 @@ struct WrapperDescriptor final {
|
|
|
- uint16_t embedder_id_for_garbage_collected;
|
|
|
- };
|
|
|
-
|
|
|
-+struct NonCopyable {
|
|
|
-+ NonCopyable() = default;
|
|
|
-+ NonCopyable(const NonCopyable&) = delete;
|
|
|
-+ NonCopyable(NonCopyable&&) = default;
|
|
|
-+};
|
|
|
-+
|
|
|
- struct V8_EXPORT CppHeapCreateParams {
|
|
|
- CppHeapCreateParams(
|
|
|
- std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces,
|
|
|
-@@ -100,6 +106,7 @@ struct V8_EXPORT CppHeapCreateParams {
|
|
|
- */
|
|
|
- cppgc::Heap::SweepingType sweeping_support =
|
|
|
- cppgc::Heap::SweepingType::kIncrementalAndConcurrent;
|
|
|
-+ NonCopyable non_copyable_;
|
|
|
- };
|
|
|
-
|
|
|
- /**
|