diff --git a/common.gypi b/common.gypi index c19346bffad434..be7c06d4c81882 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.10', + 'v8_embedder_string': '-node.11', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/src/heap/heap.h b/deps/v8/src/heap/heap.h index 24b92e8bc8c5ee..a636c5d8c4d770 100644 --- a/deps/v8/src/heap/heap.h +++ b/deps/v8/src/heap/heap.h @@ -2649,10 +2649,7 @@ class StrongRootBlockAllocator { using size_type = size_t; using difference_type = ptrdiff_t; template - struct rebind { - STATIC_ASSERT((std::is_same::value)); - using other = StrongRootBlockAllocator; - }; + struct rebind; explicit StrongRootBlockAllocator(Heap* heap) : heap_(heap) {} @@ -2663,6 +2660,23 @@ class StrongRootBlockAllocator { Heap* heap_; }; +// Rebinding to Address gives another StrongRootBlockAllocator. +template <> +struct StrongRootBlockAllocator::rebind
{ + using other = StrongRootBlockAllocator; +}; + +// Rebinding to something other than Address gives a std::allocator that +// is copy-constructable from StrongRootBlockAllocator. +template +struct StrongRootBlockAllocator::rebind { + class other : public std::allocator { + public: + // NOLINTNEXTLINE + other(const StrongRootBlockAllocator&) {} + }; +}; + } // namespace internal } // namespace v8