// 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_FREE_LIST_INL_H_ #define V8_HEAP_FREE_LIST_INL_H_ #include "src/heap/free-list.h" #include "src/heap/spaces.h" namespace v8 { namespace internal { bool FreeListCategory::is_linked(FreeList* owner) const { return prev_ != nullptr || next_ != nullptr || owner->categories_[type_] == this; } void FreeListCategory::UpdateCountersAfterAllocation(size_t allocation_size) { available_ -= allocation_size; } Page* FreeList::GetPageForCategoryType(FreeListCategoryType type) { FreeListCategory* category_top = top(type); if (category_top != nullptr) { DCHECK(!category_top->top().is_null()); return Page::FromHeapObject(category_top->top()); } else { return nullptr; } } } // namespace internal } // namespace v8 #endif // V8_HEAP_FREE_LIST_INL_H_