summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/js-array-buffer.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2020-05-05 09:19:02 +0200
committerMichaël Zasso <targos@protonmail.com>2020-05-12 16:12:13 +0200
commit1d6adf7432defeb39b751a19c68335e8afb0d8ee (patch)
tree7ab67931110b8d9db770d774c7a6d0d14c976c15 /deps/v8/src/objects/js-array-buffer.cc
parentaee36a04475a20c13663d1037aa6f175ff368bc7 (diff)
downloadnode-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.cc17
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;
}