1// Copyright 2020 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_COMPILER_GRAPH_ZONE_TRAITS_H_
6#define V8_COMPILER_GRAPH_ZONE_TRAITS_H_
7
8#include "src/zone/zone-type-traits.h"
9
10namespace v8 {
11namespace internal {
12namespace compiler {
13
14// Forward declarations.
15class Node;
16
17// GraphZoneTraits provides typedefs for zone pointer types that are either
18// compressed or not depending on the kCompressGraphZone flag.
19using GraphZoneTraits = ZoneTypeTraits<kCompressGraphZone>;
20
21// ZoneNodePtr is a possibly compressed pointer to a Node allocated in a zone
22// memory.
23using ZoneNodePtr = GraphZoneTraits::Ptr<Node>;
24
25}  // namespace compiler
26}  // namespace internal
27}  // namespace v8
28
29#endif  // V8_COMPILER_GRAPH_ZONE_TRAITS_H_
30