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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 void BuildDelete(LanguageMode language_mode); | 134 void BuildDelete(LanguageMode language_mode); |
135 void BuildCastOperator(const Operator* op); | 135 void BuildCastOperator(const Operator* op); |
136 void BuildForInPrepare(); | 136 void BuildForInPrepare(); |
137 void BuildForInNext(); | 137 void BuildForInNext(); |
138 | 138 |
139 // Control flow plumbing. | 139 // Control flow plumbing. |
140 void BuildJump(); | 140 void BuildJump(); |
141 void BuildConditionalJump(Node* condition); | 141 void BuildConditionalJump(Node* condition); |
142 void BuildJumpIfEqual(Node* comperand); | 142 void BuildJumpIfEqual(Node* comperand); |
143 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); | 143 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); |
| 144 void BuildJumpIfNotHole(); |
144 | 145 |
145 // Simulates control flow by forward-propagating environments. | 146 // Simulates control flow by forward-propagating environments. |
146 void MergeIntoSuccessorEnvironment(int target_offset); | 147 void MergeIntoSuccessorEnvironment(int target_offset); |
147 void BuildLoopHeaderEnvironment(int current_offset); | 148 void BuildLoopHeaderEnvironment(int current_offset); |
148 void SwitchToMergeEnvironment(int current_offset); | 149 void SwitchToMergeEnvironment(int current_offset); |
149 | 150 |
150 // Simulates control flow that exits the function body. | 151 // Simulates control flow that exits the function body. |
151 void MergeControlToLeaveFunction(Node* exit); | 152 void MergeControlToLeaveFunction(Node* exit); |
152 | 153 |
153 // Simulates entry and exit of exception handlers. | 154 // Simulates entry and exit of exception handlers. |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 ZoneVector<Node*> exit_controls_; | 252 ZoneVector<Node*> exit_controls_; |
252 | 253 |
253 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 254 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
254 }; | 255 }; |
255 | 256 |
256 } // namespace compiler | 257 } // namespace compiler |
257 } // namespace internal | 258 } // namespace internal |
258 } // namespace v8 | 259 } // namespace v8 |
259 | 260 |
260 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 261 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
OLD | NEW |