chromium/v8/src/codegen/aligned-slot-allocator.h

// 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_CODEGEN_ALIGNED_SLOT_ALLOCATOR_H_
#define V8_CODEGEN_ALIGNED_SLOT_ALLOCATOR_H_

#include "src/base/macros.h"
#include "src/base/platform/platform.h"
#include "src/common/globals.h"

namespace v8 {
namespace internal {

// An aligned slot allocator. Allocates groups of 1, 2, or 4 slots such that the
// first slot of the group is aligned to the group size. The allocator can also
// allocate unaligned groups of arbitrary size, and an align the number of slots
// to 1, 2, or 4 slots. The allocator tries to be as thrifty as possible by
// reusing alignment padding slots in subsequent smaller slot allocations.
class V8_EXPORT_PRIVATE AlignedSlotAllocator {};

}  // namespace internal
}  // namespace v8

#endif  // V8_CODEGEN_ALIGNED_SLOT_ALLOCATOR_H_