Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: src/compiler/node.h

Issue 2416243002: Make unittests work in component build (Closed)
Patch Set: updates Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/move-optimizer.h ('k') | src/compiler/node-cache.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_COMPILER_NODE_H_ 5 #ifndef V8_COMPILER_NODE_H_
6 #define V8_COMPILER_NODE_H_ 6 #define V8_COMPILER_NODE_H_
7 7
8 #include "src/compiler/opcodes.h" 8 #include "src/compiler/opcodes.h"
9 #include "src/compiler/operator.h" 9 #include "src/compiler/operator.h"
10 #include "src/compiler/types.h" 10 #include "src/compiler/types.h"
11 #include "src/globals.h"
11 #include "src/zone/zone-containers.h" 12 #include "src/zone/zone-containers.h"
12 13
13 namespace v8 { 14 namespace v8 {
14 namespace internal { 15 namespace internal {
15 namespace compiler { 16 namespace compiler {
16 17
17 // Forward declarations. 18 // Forward declarations.
18 class Edge; 19 class Edge;
19 class Graph; 20 class Graph;
20 21
(...skipping 11 matching lines...) Expand all
32 33
33 // A Node is the basic primitive of graphs. Nodes are chained together by 34 // A Node is the basic primitive of graphs. Nodes are chained together by
34 // input/use chains but by default otherwise contain only an identifying number 35 // input/use chains but by default otherwise contain only an identifying number
35 // which specific applications of graphs and nodes can use to index auxiliary 36 // which specific applications of graphs and nodes can use to index auxiliary
36 // out-of-line data, especially transient data. 37 // out-of-line data, especially transient data.
37 // 38 //
38 // In addition Nodes only contain a mutable Operator that may change during 39 // In addition Nodes only contain a mutable Operator that may change during
39 // compilation, e.g. during lowering passes. Other information that needs to be 40 // compilation, e.g. during lowering passes. Other information that needs to be
40 // associated with Nodes during compilation must be stored out-of-line indexed 41 // associated with Nodes during compilation must be stored out-of-line indexed
41 // by the Node's id. 42 // by the Node's id.
42 class Node final { 43 class V8_EXPORT_PRIVATE Node final {
43 public: 44 public:
44 static Node* New(Zone* zone, NodeId id, const Operator* op, int input_count, 45 static Node* New(Zone* zone, NodeId id, const Operator* op, int input_count,
45 Node* const* inputs, bool has_extensible_inputs); 46 Node* const* inputs, bool has_extensible_inputs);
46 static Node* Clone(Zone* zone, NodeId id, const Node* node); 47 static Node* Clone(Zone* zone, NodeId id, const Node* node);
47 48
48 bool IsDead() const { return InputCount() > 0 && !InputAt(0); } 49 bool IsDead() const { return InputCount() > 0 && !InputAt(0); }
49 void Kill(); 50 void Kill();
50 51
51 const Operator* op() const { return op_; } 52 const Operator* op() const { return op_; }
52 53
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 bool empty() const; 120 bool empty() const;
120 121
121 explicit InputEdges(Node* node) : node_(node) {} 122 explicit InputEdges(Node* node) : node_(node) {}
122 123
123 private: 124 private:
124 Node* node_; 125 Node* node_;
125 }; 126 };
126 127
127 InputEdges input_edges() { return InputEdges(this); } 128 InputEdges input_edges() { return InputEdges(this); }
128 129
129 class Inputs final { 130 class V8_EXPORT_PRIVATE Inputs final {
130 public: 131 public:
131 typedef Node* value_type; 132 typedef Node* value_type;
132 133
133 class const_iterator; 134 class const_iterator;
134 inline const_iterator begin() const; 135 inline const_iterator begin() const;
135 inline const_iterator end() const; 136 inline const_iterator end() const;
136 137
137 bool empty() const; 138 bool empty() const;
138 139
139 explicit Inputs(Node* node) : node_(node) {} 140 explicit Inputs(Node* node) : node_(node) {}
(...skipping 15 matching lines...) Expand all
155 bool empty() const; 156 bool empty() const;
156 157
157 explicit UseEdges(Node* node) : node_(node) {} 158 explicit UseEdges(Node* node) : node_(node) {}
158 159
159 private: 160 private:
160 Node* node_; 161 Node* node_;
161 }; 162 };
162 163
163 UseEdges use_edges() { return UseEdges(this); } 164 UseEdges use_edges() { return UseEdges(this); }
164 165
165 class Uses final { 166 class V8_EXPORT_PRIVATE Uses final {
166 public: 167 public:
167 typedef Node* value_type; 168 typedef Node* value_type;
168 169
169 class const_iterator; 170 class const_iterator;
170 inline const_iterator begin() const; 171 inline const_iterator begin() const;
171 inline const_iterator end() const; 172 inline const_iterator end() const;
172 173
173 bool empty() const; 174 bool empty() const;
174 175
175 explicit Uses(Node* node) : node_(node) {} 176 explicit Uses(Node* node) : node_(node) {}
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 } 557 }
557 558
558 559
559 Node::Uses::const_iterator Node::Uses::end() const { return const_iterator(); } 560 Node::Uses::const_iterator Node::Uses::end() const { return const_iterator(); }
560 561
561 } // namespace compiler 562 } // namespace compiler
562 } // namespace internal 563 } // namespace internal
563 } // namespace v8 564 } // namespace v8
564 565
565 #endif // V8_COMPILER_NODE_H_ 566 #endif // V8_COMPILER_NODE_H_
OLDNEW
« no previous file with comments | « src/compiler/move-optimizer.h ('k') | src/compiler/node-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698