#ifndef V8_COMPILER_TURBOSHAFT_SIDETABLE_H_
#define V8_COMPILER_TURBOSHAFT_SIDETABLE_H_
#include <algorithm>
#include <iterator>
#include <limits>
#include <memory>
#include <type_traits>
#include "src/base/iterator.h"
#include "src/base/small-vector.h"
#include "src/base/vector.h"
#include "src/compiler/turboshaft/operations.h"
#include "src/zone/zone-containers.h"
namespace v8::internal::compiler::turboshaft {
#ifdef DEBUG
V8_EXPORT_PRIVATE bool OpIndexBelongsToTableGraph(const Graph* graph,
OpIndex index);
#endif
namespace detail {
template <class T, class Key>
class GrowingSidetable { … };
template <class T, class Key>
class FixedSidetable { … };
}
template <typename T>
class GrowingBlockSidetable : public detail::GrowingSidetable<T, BlockIndex> { … };
template <typename T>
class FixedBlockSidetable : public detail::FixedSidetable<T, BlockIndex> { … };
template <class T>
class GrowingOpIndexSidetable : public detail::GrowingSidetable<T, OpIndex> { … };
template <class T>
class FixedOpIndexSidetable : public detail::FixedSidetable<T, OpIndex> { … };
}
#endif