OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_BYTECODE_GRAPH_BUILDER_H_ | 5 #ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "src/compiler.h" | 8 #include "src/compiler.h" |
9 #include "src/compiler/bytecode-branch-analysis.h" | 9 #include "src/compiler/bytecode-branch-analysis.h" |
10 #include "src/compiler/js-graph.h" | 10 #include "src/compiler/js-graph.h" |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 void BuildConditionalJump(Node* condition); | 161 void BuildConditionalJump(Node* condition); |
162 void BuildJumpIfEqual(Node* comperand); | 162 void BuildJumpIfEqual(Node* comperand); |
163 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); | 163 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); |
164 | 164 |
165 // Constructing merge and loop headers. | 165 // Constructing merge and loop headers. |
166 void MergeEnvironmentsOfBackwardBranches(int source_offset, | 166 void MergeEnvironmentsOfBackwardBranches(int source_offset, |
167 int target_offset); | 167 int target_offset); |
168 void MergeEnvironmentsOfForwardBranches(int source_offset); | 168 void MergeEnvironmentsOfForwardBranches(int source_offset); |
169 void BuildLoopHeaderForBackwardBranches(int source_offset); | 169 void BuildLoopHeaderForBackwardBranches(int source_offset); |
170 | 170 |
| 171 // Attaches a frame state to |node| for the entry to the function. |
| 172 void PrepareEntryFrameState(Node* node); |
| 173 |
171 // Growth increment for the temporary buffer used to construct input lists to | 174 // Growth increment for the temporary buffer used to construct input lists to |
172 // new nodes. | 175 // new nodes. |
173 static const int kInputBufferSizeIncrement = 64; | 176 static const int kInputBufferSizeIncrement = 64; |
174 | 177 |
175 // Field accessors | 178 // Field accessors |
176 CommonOperatorBuilder* common() const { return jsgraph_->common(); } | 179 CommonOperatorBuilder* common() const { return jsgraph_->common(); } |
177 Zone* graph_zone() const { return graph()->zone(); } | 180 Zone* graph_zone() const { return graph()->zone(); } |
178 CompilationInfo* info() const { return info_; } | 181 CompilationInfo* info() const { return info_; } |
179 JSGraph* jsgraph() const { return jsgraph_; } | 182 JSGraph* jsgraph() const { return jsgraph_; } |
180 JSOperatorBuilder* javascript() const { return jsgraph_->javascript(); } | 183 JSOperatorBuilder* javascript() const { return jsgraph_->javascript(); } |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 Node* accumulator_state_values_; | 335 Node* accumulator_state_values_; |
333 int register_base_; | 336 int register_base_; |
334 int accumulator_base_; | 337 int accumulator_base_; |
335 }; | 338 }; |
336 | 339 |
337 } // namespace compiler | 340 } // namespace compiler |
338 } // namespace internal | 341 } // namespace internal |
339 } // namespace v8 | 342 } // namespace v8 |
340 | 343 |
341 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 344 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
OLD | NEW |