diff options
author | Michaël Zasso <targos@protonmail.com> | 2020-05-05 09:19:02 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2020-05-12 16:12:13 +0200 |
commit | 1d6adf7432defeb39b751a19c68335e8afb0d8ee (patch) | |
tree | 7ab67931110b8d9db770d774c7a6d0d14c976c15 /deps/v8/src/objects/js-array-buffer.cc | |
parent | aee36a04475a20c13663d1037aa6f175ff368bc7 (diff) | |
download | node-new-1d6adf7432defeb39b751a19c68335e8afb0d8ee.tar.gz |
deps: update V8 to 8.3.110.9
PR-URL: https://github.com/nodejs/node/pull/32831
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/objects/js-array-buffer.cc')
-rw-r--r-- | deps/v8/src/objects/js-array-buffer.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/deps/v8/src/objects/js-array-buffer.cc b/deps/v8/src/objects/js-array-buffer.cc index f4f4320537..0c2aca6d71 100644 --- a/deps/v8/src/objects/js-array-buffer.cc +++ b/deps/v8/src/objects/js-array-buffer.cc @@ -59,14 +59,18 @@ void JSArrayBuffer::Setup(SharedFlag shared, void JSArrayBuffer::Attach(std::shared_ptr<BackingStore> backing_store) { DCHECK_NOT_NULL(backing_store); DCHECK_EQ(is_shared(), backing_store->is_shared()); + DCHECK(!was_detached()); set_backing_store(backing_store->buffer_start()); set_byte_length(backing_store->byte_length()); if (backing_store->is_wasm_memory()) set_is_detachable(false); if (!backing_store->free_on_destruct()) set_is_external(true); if (V8_ARRAY_BUFFER_EXTENSION_BOOL) { Heap* heap = GetIsolate()->heap(); - EnsureExtension(heap); - extension()->set_backing_store(std::move(backing_store)); + ArrayBufferExtension* extension = EnsureExtension(); + size_t bytes = backing_store->PerIsolateAccountingLength(); + extension->set_accounting_length(bytes); + extension->set_backing_store(std::move(backing_store)); + heap->AppendArrayBufferExtension(*this, extension); } else { GetIsolate()->heap()->RegisterBackingStore(*this, std::move(backing_store)); } @@ -113,14 +117,13 @@ std::shared_ptr<BackingStore> JSArrayBuffer::GetBackingStore() { } } -ArrayBufferExtension* JSArrayBuffer::EnsureExtension(Heap* heap) { +ArrayBufferExtension* JSArrayBuffer::EnsureExtension() { DCHECK(V8_ARRAY_BUFFER_EXTENSION_BOOL); - if (extension() != nullptr) return extension(); + ArrayBufferExtension* extension = this->extension(); + if (extension != nullptr) return extension; - ArrayBufferExtension* extension = - new ArrayBufferExtension(std::shared_ptr<BackingStore>()); + extension = new ArrayBufferExtension(std::shared_ptr<BackingStore>()); set_extension(extension); - heap->AppendArrayBufferExtension(*this, extension); return extension; } |