// Copyright 2022 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_BASE_BASIC_SLOT_SET_H_ #define V8_HEAP_BASE_BASIC_SLOT_SET_H_ #include <cstddef> #include <memory> #include "src/base/atomic-utils.h" #include "src/base/bits.h" #include "src/base/platform/memory.h" namespace heap { namespace base { enum SlotCallbackResult { … }; // Data structure for maintaining a set of slots in a standard (non-large) // page. // The data structure assumes that the slots are pointer size aligned and // splits the valid slot offset range into buckets. // Each bucket is a bitmap with a bit corresponding to a single slot offset. template <size_t SlotGranularity> class BasicSlotSet { … }; } // namespace base } // namespace heap #endif // V8_HEAP_BASE_BASIC_SLOT_SET_H_