From 9c7c8db9600b9340e9ae8523e58ec233a3c5147b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sat, 1 Jun 2019 20:59:31 +0200 Subject: [PATCH] deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) Reverts https://github.com/v8/v8/commit/1b51dca30d697a448f70fdf3e11c8491b122f4ee Reverts https://github.com/v8/v8/commit/1ab717db8495b4ad40d2754dd0ba2b339c9c80a4 Partially reverts https://github.com/v8/v8/commit/b0077b3b50e551a10d8ef4fabfe18f9005494b5a Backport-PR-URL: https://github.com/nodejs/node/pull/28955 PR-URL: https://github.com/nodejs/node/pull/28005 Reviewed-By: Anna Henningsen Reviewed-By: Ujjwal Sharma --- deps/v8/include/v8.h | 19 ++++++------------- deps/v8/src/api/api.cc | 17 +++++++---------- deps/v8/src/execution/microtask-queue.cc | 4 ---- deps/v8/src/execution/microtask-queue.h | 2 +- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index e1a467ddeebe64..904e3a11781ef3 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -5121,7 +5121,8 @@ class V8_EXPORT SharedArrayBuffer : public Object { allocation_length_(0), allocation_mode_(Allocator::AllocationMode::kNormal), deleter_(nullptr), - deleter_data_(nullptr) {} + deleter_data_(nullptr), + is_growable_(false) {} void* AllocationBase() const { return allocation_base_; } size_t AllocationLength() const { return allocation_length_; } @@ -5133,12 +5134,13 @@ class V8_EXPORT SharedArrayBuffer : public Object { size_t ByteLength() const { return byte_length_; } DeleterCallback Deleter() const { return deleter_; } void* DeleterData() const { return deleter_data_; } + bool IsGrowable() const { return is_growable_; } private: Contents(void* data, size_t byte_length, void* allocation_base, size_t allocation_length, Allocator::AllocationMode allocation_mode, DeleterCallback deleter, - void* deleter_data); + void* deleter_data, bool is_growable); void* data_; size_t byte_length_; @@ -5147,6 +5149,7 @@ class V8_EXPORT SharedArrayBuffer : public Object { Allocator::AllocationMode allocation_mode_; DeleterCallback deleter_; void* deleter_data_; + bool is_growable_; friend class SharedArrayBuffer; }; @@ -6746,8 +6749,7 @@ class V8_EXPORT MicrotaskQueue { /** * Creates an empty MicrotaskQueue instance. */ - static std::unique_ptr New( - Isolate* isolate, MicrotasksPolicy policy = MicrotasksPolicy::kAuto); + static std::unique_ptr New(Isolate* isolate); virtual ~MicrotaskQueue() = default; @@ -6795,15 +6797,6 @@ class V8_EXPORT MicrotaskQueue { */ virtual bool IsRunningMicrotasks() const = 0; - /** - * Returns the current depth of nested MicrotasksScope that has - * kRunMicrotasks. - */ - virtual int GetMicrotasksScopeDepth() const = 0; - - MicrotaskQueue(const MicrotaskQueue&) = delete; - MicrotaskQueue& operator=(const MicrotaskQueue&) = delete; - private: friend class internal::MicrotaskQueue; MicrotaskQueue() = default; diff --git a/deps/v8/src/api/api.cc b/deps/v8/src/api/api.cc index e02c74416b81c6..249432b2d41651 100644 --- a/deps/v8/src/api/api.cc +++ b/deps/v8/src/api/api.cc @@ -7447,14 +7447,15 @@ v8::SharedArrayBuffer::Contents v8::SharedArrayBuffer::Externalize() { v8::SharedArrayBuffer::Contents::Contents( void* data, size_t byte_length, void* allocation_base, size_t allocation_length, Allocator::AllocationMode allocation_mode, - DeleterCallback deleter, void* deleter_data) + DeleterCallback deleter, void* deleter_data, bool is_growable) : data_(data), byte_length_(byte_length), allocation_base_(allocation_base), allocation_length_(allocation_length), allocation_mode_(allocation_mode), deleter_(deleter), - deleter_data_(deleter_data) { + deleter_data_(deleter_data), + is_growable_(is_growable) { DCHECK_LE(allocation_base_, data_); DCHECK_LE(byte_length_, allocation_length_); } @@ -7472,7 +7473,8 @@ v8::SharedArrayBuffer::Contents v8::SharedArrayBuffer::GetContents() { : reinterpret_cast(ArrayBufferDeleter), self->is_wasm_memory() ? static_cast(self->GetIsolate()->wasm_engine()) - : static_cast(self->GetIsolate()->array_buffer_allocator())); + : static_cast(self->GetIsolate()->array_buffer_allocator()), + false); return contents; } @@ -8612,13 +8614,8 @@ void v8::Isolate::LocaleConfigurationChangeNotification() { } // static -std::unique_ptr MicrotaskQueue::New(Isolate* isolate, - MicrotasksPolicy policy) { - auto microtask_queue = - i::MicrotaskQueue::New(reinterpret_cast(isolate)); - microtask_queue->set_microtasks_policy(policy); - std::unique_ptr ret(std::move(microtask_queue)); - return ret; +std::unique_ptr MicrotaskQueue::New(Isolate* isolate) { + return i::MicrotaskQueue::New(reinterpret_cast(isolate)); } MicrotasksScope::MicrotasksScope(Isolate* isolate, MicrotasksScope::Type type) diff --git a/deps/v8/src/execution/microtask-queue.cc b/deps/v8/src/execution/microtask-queue.cc index 3cc95205fa5199..7b5fddd4539773 100644 --- a/deps/v8/src/execution/microtask-queue.cc +++ b/deps/v8/src/execution/microtask-queue.cc @@ -211,10 +211,6 @@ void MicrotaskQueue::IterateMicrotasks(RootVisitor* visitor) { } } -int MicrotaskQueue::GetMicrotasksScopeDepth() const { - return microtasks_depth_; -} - void MicrotaskQueue::AddMicrotasksCompletedCallback( MicrotasksCompletedCallbackWithData callback, void* data) { CallbackWithData callback_with_data(callback, data); diff --git a/deps/v8/src/execution/microtask-queue.h b/deps/v8/src/execution/microtask-queue.h index 4ce1498279c1a6..070668fb4723c9 100644 --- a/deps/v8/src/execution/microtask-queue.h +++ b/deps/v8/src/execution/microtask-queue.h @@ -62,7 +62,7 @@ class V8_EXPORT_PRIVATE MicrotaskQueue final : public v8::MicrotaskQueue { // invocation, which happens when depth reaches zero. void IncrementMicrotasksScopeDepth() { ++microtasks_depth_; } void DecrementMicrotasksScopeDepth() { --microtasks_depth_; } - int GetMicrotasksScopeDepth() const override; + int GetMicrotasksScopeDepth() const { return microtasks_depth_; } // Possibly nested microtasks suppression scopes prevent microtasks // from running.