// Copyright 2020 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_HEAP_ARRAY_BUFFER_SWEEPER_H_ #define V8_HEAP_ARRAY_BUFFER_SWEEPER_H_ #include <memory> #include "src/base/logging.h" #include "src/base/platform/mutex.h" #include "src/heap/sweeper.h" #include "src/objects/js-array-buffer.h" #include "src/tasks/cancelable-task.h" namespace v8 { namespace internal { class ArrayBufferExtension; class Heap; // Singly linked-list of ArrayBufferExtensions that stores head and tail of the // list to allow for concatenation of lists. struct ArrayBufferList final { … }; // The ArrayBufferSweeper iterates and deletes ArrayBufferExtensions // concurrently to the application. class ArrayBufferSweeper final { … }; } // namespace internal } // namespace v8 #endif // V8_HEAP_ARRAY_BUFFER_SWEEPER_H_