| 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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 void BuildBinaryOpWithImmediate(const Operator* op); | 130 void BuildBinaryOpWithImmediate(const Operator* op); |
| 131 void BuildCompareOp(const Operator* op); | 131 void BuildCompareOp(const Operator* op); |
| 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(int operand_index); |
| 141 | |
| 142 // Helper function to create an binary operation hint from the recorded | |
| 143 // type feedback in Inc/Dec handlers. | |
| 144 BinaryOperationHint GetBinaryOperationHintForIncDec(); | |
| 145 | 141 |
| 146 // Control flow plumbing. | 142 // Control flow plumbing. |
| 147 void BuildJump(); | 143 void BuildJump(); |
| 148 void BuildConditionalJump(Node* condition); | 144 void BuildConditionalJump(Node* condition); |
| 149 void BuildJumpIfEqual(Node* comperand); | 145 void BuildJumpIfEqual(Node* comperand); |
| 150 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); | 146 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); |
| 151 void BuildJumpIfNotHole(); | 147 void BuildJumpIfNotHole(); |
| 152 | 148 |
| 153 // Simulates control flow by forward-propagating environments. | 149 // Simulates control flow by forward-propagating environments. |
| 154 void MergeIntoSuccessorEnvironment(int target_offset); | 150 void MergeIntoSuccessorEnvironment(int target_offset); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 Node** input_buffer_; | 251 Node** input_buffer_; |
| 256 | 252 |
| 257 // Nodes representing values in the activation record. | 253 // Nodes representing values in the activation record. |
| 258 SetOncePointer<Node> function_context_; | 254 SetOncePointer<Node> function_context_; |
| 259 SetOncePointer<Node> function_closure_; | 255 SetOncePointer<Node> function_closure_; |
| 260 SetOncePointer<Node> new_target_; | 256 SetOncePointer<Node> new_target_; |
| 261 | 257 |
| 262 // Control nodes that exit the function body. | 258 // Control nodes that exit the function body. |
| 263 ZoneVector<Node*> exit_controls_; | 259 ZoneVector<Node*> exit_controls_; |
| 264 | 260 |
| 261 static int const kBinaryOperationHintIndex = 1; |
| 262 static int const kCountOperationHintIndex = 0; |
| 263 static int const kBinaryOperationSmiHintIndex = 2; |
| 264 |
| 265 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 265 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
| 266 }; | 266 }; |
| 267 | 267 |
| 268 } // namespace compiler | 268 } // namespace compiler |
| 269 } // namespace internal | 269 } // namespace internal |
| 270 } // namespace v8 | 270 } // namespace v8 |
| 271 | 271 |
| 272 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 272 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
| OLD | NEW |