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

Side by Side Diff: src/compiler/js-graph.h

Issue 2006423003: [turbofan] Remove the EmptyFrameState caching on JSGraph. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 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 | « no previous file | src/compiler/js-graph.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 2014 the V8 project authors. All rights reserved. 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 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_JS_GRAPH_H_ 5 #ifndef V8_COMPILER_JS_GRAPH_H_
6 #define V8_COMPILER_JS_GRAPH_H_ 6 #define V8_COMPILER_JS_GRAPH_H_
7 7
8 #include "src/compiler/common-node-cache.h" 8 #include "src/compiler/common-node-cache.h"
9 #include "src/compiler/common-operator.h" 9 #include "src/compiler/common-operator.h"
10 #include "src/compiler/graph.h" 10 #include "src/compiler/graph.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 116
117 Node* SmiConstant(int32_t immediate) { 117 Node* SmiConstant(int32_t immediate) {
118 DCHECK(Smi::IsValid(immediate)); 118 DCHECK(Smi::IsValid(immediate));
119 return Constant(immediate); 119 return Constant(immediate);
120 } 120 }
121 121
122 // Creates a dummy Constant node, used to satisfy calling conventions of 122 // Creates a dummy Constant node, used to satisfy calling conventions of
123 // stubs and runtime functions that do not require a context. 123 // stubs and runtime functions that do not require a context.
124 Node* NoContextConstant() { return ZeroConstant(); } 124 Node* NoContextConstant() { return ZeroConstant(); }
125 125
126 // Creates an empty frame states for cases where we know that a function
127 // cannot deopt.
128 Node* EmptyFrameState();
129
130 // Creates an empty StateValues node, used when we don't have any concrete 126 // Creates an empty StateValues node, used when we don't have any concrete
131 // values for a certain part of the frame state. 127 // values for a certain part of the frame state.
132 Node* EmptyStateValues(); 128 Node* EmptyStateValues();
133 129
134 // Create a control node that serves as dependency for dead nodes. 130 // Create a control node that serves as dependency for dead nodes.
135 Node* Dead(); 131 Node* Dead();
136 132
137 CommonOperatorBuilder* common() const { return common_; } 133 CommonOperatorBuilder* common() const { return common_; }
138 JSOperatorBuilder* javascript() const { return javascript_; } 134 JSOperatorBuilder* javascript() const { return javascript_; }
139 SimplifiedOperatorBuilder* simplified() const { return simplified_; } 135 SimplifiedOperatorBuilder* simplified() const { return simplified_; }
(...skipping 15 matching lines...) Expand all
155 kOptimizedOutConstant, 151 kOptimizedOutConstant,
156 kStaleRegisterConstant, 152 kStaleRegisterConstant,
157 kUndefinedConstant, 153 kUndefinedConstant,
158 kTheHoleConstant, 154 kTheHoleConstant,
159 kTrueConstant, 155 kTrueConstant,
160 kFalseConstant, 156 kFalseConstant,
161 kNullConstant, 157 kNullConstant,
162 kZeroConstant, 158 kZeroConstant,
163 kOneConstant, 159 kOneConstant,
164 kNaNConstant, 160 kNaNConstant,
165 kEmptyFrameState,
166 kEmptyStateValues, 161 kEmptyStateValues,
167 kDead, 162 kDead,
168 kNumCachedNodes // Must remain last. 163 kNumCachedNodes // Must remain last.
169 }; 164 };
170 165
171 Isolate* isolate_; 166 Isolate* isolate_;
172 Graph* graph_; 167 Graph* graph_;
173 CommonOperatorBuilder* common_; 168 CommonOperatorBuilder* common_;
174 JSOperatorBuilder* javascript_; 169 JSOperatorBuilder* javascript_;
175 SimplifiedOperatorBuilder* simplified_; 170 SimplifiedOperatorBuilder* simplified_;
176 MachineOperatorBuilder* machine_; 171 MachineOperatorBuilder* machine_;
177 CommonNodeCache cache_; 172 CommonNodeCache cache_;
178 Node* cached_nodes_[kNumCachedNodes]; 173 Node* cached_nodes_[kNumCachedNodes];
179 174
180 Node* NumberConstant(double value); 175 Node* NumberConstant(double value);
181 176
182 DISALLOW_COPY_AND_ASSIGN(JSGraph); 177 DISALLOW_COPY_AND_ASSIGN(JSGraph);
183 }; 178 };
184 179
185 } // namespace compiler 180 } // namespace compiler
186 } // namespace internal 181 } // namespace internal
187 } // namespace v8 182 } // namespace v8
188 183
189 #endif 184 #endif
OLDNEW
« no previous file with comments | « no previous file | src/compiler/js-graph.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698