Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / v8 / src / compiler / node-aux-data.h
1 // Copyright 2014 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_NODE_AUX_DATA_H_
6 #define V8_COMPILER_NODE_AUX_DATA_H_
7
8 #include <vector>
9
10 #include "src/zone-allocator.h"
11
12 namespace v8 {
13 namespace internal {
14 namespace compiler {
15
16 // Forward declarations.
17 class Graph;
18 class Node;
19
20 template <class T>
21 class NodeAuxData {
22  public:
23   inline explicit NodeAuxData(Zone* zone);
24
25   inline void Set(Node* node, const T& data);
26   inline T Get(Node* node);
27
28  private:
29   typedef zone_allocator<T> ZoneAllocator;
30   typedef std::vector<T, ZoneAllocator> TZoneVector;
31
32   TZoneVector aux_data_;
33 };
34 }
35 }
36 }  // namespace v8::internal::compiler
37
38 #endif