| 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-branch-analysis.h" | 8 #include "src/compiler/bytecode-branch-analysis.h" |
| 9 #include "src/compiler/bytecode-loop-analysis.h" | 9 #include "src/compiler/bytecode-loop-analysis.h" |
| 10 #include "src/compiler/js-graph.h" | 10 #include "src/compiler/js-graph.h" |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 interpreter::Register first_arg, | 117 interpreter::Register first_arg, |
| 118 size_t arity); | 118 size_t arity); |
| 119 | 119 |
| 120 // Computes register liveness and replaces dead ones in frame states with the | 120 // Computes register liveness and replaces dead ones in frame states with the |
| 121 // undefined values. | 121 // undefined values. |
| 122 void ClearNonLiveSlotsInFrameStates(); | 122 void ClearNonLiveSlotsInFrameStates(); |
| 123 | 123 |
| 124 void BuildCreateLiteral(const Operator* op); | 124 void BuildCreateLiteral(const Operator* op); |
| 125 void BuildCreateArguments(CreateArgumentsType type); | 125 void BuildCreateArguments(CreateArgumentsType type); |
| 126 Node* BuildLoadContextSlot(); | 126 Node* BuildLoadContextSlot(); |
| 127 Node* BuildLoadGlobal(TypeofMode typeof_mode); | 127 Node* BuildLoadGlobal(int feedback_slot_operand, TypeofMode typeof_mode); |
| 128 void BuildStoreGlobal(LanguageMode language_mode); | 128 void BuildStoreGlobal(LanguageMode language_mode); |
| 129 Node* BuildNamedLoad(); | 129 Node* BuildNamedLoad(); |
| 130 void BuildNamedStore(LanguageMode language_mode); | 130 void BuildNamedStore(LanguageMode language_mode); |
| 131 Node* BuildKeyedLoad(); | 131 Node* BuildKeyedLoad(); |
| 132 void BuildKeyedStore(LanguageMode language_mode); | 132 void BuildKeyedStore(LanguageMode language_mode); |
| 133 void BuildLdaLookupSlot(TypeofMode typeof_mode); | 133 void BuildLdaLookupSlot(TypeofMode typeof_mode); |
| 134 void BuildLdaLookupContextSlot(TypeofMode typeof_mode); | 134 void BuildLdaLookupContextSlot(TypeofMode typeof_mode); |
| 135 void BuildLdaLookupGlobalSlot(TypeofMode typeof_mode); | 135 void BuildLdaLookupGlobalSlot(TypeofMode typeof_mode); |
| 136 void BuildStaLookupSlot(LanguageMode language_mode); | 136 void BuildStaLookupSlot(LanguageMode language_mode); |
| 137 void BuildCall(TailCallMode tail_call_mode); | 137 void BuildCall(TailCallMode tail_call_mode); |
| 138 void BuildThrow(); | 138 void BuildThrow(); |
| 139 void BuildBinaryOp(const Operator* op); | 139 void BuildBinaryOp(const Operator* op); |
| 140 void BuildBinaryOpWithImmediate(const Operator* op); | 140 void BuildBinaryOpWithImmediate(const Operator* op); |
| 141 void BuildCompareOp(const Operator* op); | 141 void BuildCompareOp(const Operator* op); |
| 142 void BuildDelete(LanguageMode language_mode); | 142 void BuildDelete(LanguageMode language_mode); |
| 143 void BuildCastOperator(const Operator* op); | 143 void BuildCastOperator(const Operator* op); |
| 144 void BuildForInPrepare(); | 144 void BuildForInPrepare(); |
| 145 void BuildForInNext(); | 145 void BuildForInNext(); |
| 146 void BuildInvokeIntrinsic(); | 146 void BuildInvokeIntrinsic(); |
| 147 | 147 |
| 148 // Check the context chain for extensions, for lookup fast paths. |
| 149 Environment* CheckContextExtensions(uint32_t depth); |
| 150 |
| 148 // Helper function to create binary operation hint from the recorded | 151 // Helper function to create binary operation hint from the recorded |
| 149 // type feedback. | 152 // type feedback. |
| 150 BinaryOperationHint GetBinaryOperationHint(int operand_index); | 153 BinaryOperationHint GetBinaryOperationHint(int operand_index); |
| 151 | 154 |
| 152 // Helper function to create compare operation hint from the recorded | 155 // Helper function to create compare operation hint from the recorded |
| 153 // type feedback. | 156 // type feedback. |
| 154 CompareOperationHint GetCompareOperationHint(); | 157 CompareOperationHint GetCompareOperationHint(); |
| 155 | 158 |
| 156 // Helper function to compute call frequency from the recorded type | 159 // Helper function to compute call frequency from the recorded type |
| 157 // feedback. | 160 // feedback. |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 static int const kBinaryOperationSmiHintIndex = 2; | 306 static int const kBinaryOperationSmiHintIndex = 2; |
| 304 | 307 |
| 305 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 308 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
| 306 }; | 309 }; |
| 307 | 310 |
| 308 } // namespace compiler | 311 } // namespace compiler |
| 309 } // namespace internal | 312 } // namespace internal |
| 310 } // namespace v8 | 313 } // namespace v8 |
| 311 | 314 |
| 312 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 315 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
| OLD | NEW |