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/bytecode-loop-analysis.h" | 10 #include "src/compiler/bytecode-loop-analysis.h" |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 void BuildDelete(LanguageMode language_mode); | 132 void BuildDelete(LanguageMode language_mode); |
133 void BuildCastOperator(const Operator* op); | 133 void BuildCastOperator(const Operator* op); |
134 void BuildForInPrepare(); | 134 void BuildForInPrepare(); |
135 void BuildForInNext(); | 135 void BuildForInNext(); |
136 void BuildInvokeIntrinsic(); | 136 void BuildInvokeIntrinsic(); |
137 | 137 |
138 // Helper function to create binary operation hint from the recorded | 138 // Helper function to create binary operation hint from the recorded |
139 // type feedback. | 139 // type feedback. |
140 BinaryOperationHint GetBinaryOperationHint(); | 140 BinaryOperationHint GetBinaryOperationHint(); |
141 | 141 |
| 142 // Helper function to create an binary operation hint from the recorded |
| 143 // type feedback in Inc/Dec handlers. |
| 144 BinaryOperationHint GetBinaryOperationHintForIncDec(); |
| 145 |
142 // Control flow plumbing. | 146 // Control flow plumbing. |
143 void BuildJump(); | 147 void BuildJump(); |
144 void BuildConditionalJump(Node* condition); | 148 void BuildConditionalJump(Node* condition); |
145 void BuildJumpIfEqual(Node* comperand); | 149 void BuildJumpIfEqual(Node* comperand); |
146 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); | 150 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); |
147 void BuildJumpIfNotHole(); | 151 void BuildJumpIfNotHole(); |
148 | 152 |
149 // Simulates control flow by forward-propagating environments. | 153 // Simulates control flow by forward-propagating environments. |
150 void MergeIntoSuccessorEnvironment(int target_offset); | 154 void MergeIntoSuccessorEnvironment(int target_offset); |
151 void BuildLoopHeaderEnvironment(int current_offset); | 155 void BuildLoopHeaderEnvironment(int current_offset); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 ZoneVector<Node*> exit_controls_; | 263 ZoneVector<Node*> exit_controls_; |
260 | 264 |
261 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 265 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
262 }; | 266 }; |
263 | 267 |
264 } // namespace compiler | 268 } // namespace compiler |
265 } // namespace internal | 269 } // namespace internal |
266 } // namespace v8 | 270 } // namespace v8 |
267 | 271 |
268 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 272 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
OLD | NEW |