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/bytecode-analysis.h" | 8 #include "src/compiler/bytecode-analysis.h" |
9 #include "src/compiler/js-graph.h" | 9 #include "src/compiler/js-graph.h" |
10 #include "src/compiler/js-type-hint-lowering.h" | 10 #include "src/compiler/js-type-hint-lowering.h" |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 | 205 |
206 // Helper function to compute call frequency from the recorded type | 206 // Helper function to compute call frequency from the recorded type |
207 // feedback. | 207 // feedback. |
208 float ComputeCallFrequency(int slot_id) const; | 208 float ComputeCallFrequency(int slot_id) const; |
209 | 209 |
210 // Control flow plumbing. | 210 // Control flow plumbing. |
211 void BuildJump(); | 211 void BuildJump(); |
212 void BuildJumpIf(Node* condition); | 212 void BuildJumpIf(Node* condition); |
213 void BuildJumpIfNot(Node* condition); | 213 void BuildJumpIfNot(Node* condition); |
214 void BuildJumpIfEqual(Node* comperand); | 214 void BuildJumpIfEqual(Node* comperand); |
| 215 void BuildJumpIfNotEqual(Node* comperand); |
215 void BuildJumpIfTrue(); | 216 void BuildJumpIfTrue(); |
216 void BuildJumpIfFalse(); | 217 void BuildJumpIfFalse(); |
217 void BuildJumpIfToBooleanTrue(); | 218 void BuildJumpIfToBooleanTrue(); |
218 void BuildJumpIfToBooleanFalse(); | 219 void BuildJumpIfToBooleanFalse(); |
219 void BuildJumpIfNotHole(); | 220 void BuildJumpIfNotHole(); |
220 void BuildJumpIfJSReceiver(); | 221 void BuildJumpIfJSReceiver(); |
221 | 222 |
222 // Simulates control flow by forward-propagating environments. | 223 // Simulates control flow by forward-propagating environments. |
223 void MergeIntoSuccessorEnvironment(int target_offset); | 224 void MergeIntoSuccessorEnvironment(int target_offset); |
224 void BuildLoopHeaderEnvironment(int current_offset); | 225 void BuildLoopHeaderEnvironment(int current_offset); |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 static int const kBinaryOperationSmiHintIndex = 2; | 364 static int const kBinaryOperationSmiHintIndex = 2; |
364 | 365 |
365 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 366 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
366 }; | 367 }; |
367 | 368 |
368 } // namespace compiler | 369 } // namespace compiler |
369 } // namespace internal | 370 } // namespace internal |
370 } // namespace v8 | 371 } // namespace v8 |
371 | 372 |
372 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 373 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
OLD | NEW |