OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_OPERATOR_PROPERTIES_INL_H_ | 5 #ifndef V8_COMPILER_OPERATOR_PROPERTIES_INL_H_ |
6 #define V8_COMPILER_OPERATOR_PROPERTIES_INL_H_ | 6 #define V8_COMPILER_OPERATOR_PROPERTIES_INL_H_ |
7 | 7 |
8 #include "src/compiler/common-operator.h" | 8 #include "src/compiler/common-operator.h" |
9 #include "src/compiler/js-operator.h" | 9 #include "src/compiler/js-operator.h" |
10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 return node->opcode() == IrOpcode::kBranch ? 2 : HasControlOutput(node) ? 1 | 148 return node->opcode() == IrOpcode::kBranch ? 2 : HasControlOutput(node) ? 1 |
149 : 0; | 149 : 0; |
150 } | 150 } |
151 | 151 |
152 | 152 |
153 inline bool OperatorProperties::IsBasicBlockBegin(Operator* op) { | 153 inline bool OperatorProperties::IsBasicBlockBegin(Operator* op) { |
154 uint8_t opcode = op->opcode(); | 154 uint8_t opcode = op->opcode(); |
155 return opcode == IrOpcode::kStart || opcode == IrOpcode::kEnd || | 155 return opcode == IrOpcode::kStart || opcode == IrOpcode::kEnd || |
156 opcode == IrOpcode::kDead || opcode == IrOpcode::kLoop || | 156 opcode == IrOpcode::kDead || opcode == IrOpcode::kLoop || |
157 opcode == IrOpcode::kMerge || opcode == IrOpcode::kIfTrue || | 157 opcode == IrOpcode::kMerge || opcode == IrOpcode::kIfTrue || |
158 opcode == IrOpcode::kIfFalse; | 158 opcode == IrOpcode::kIfFalse || opcode == IrOpcode::kContinuation || |
| 159 opcode == IrOpcode::kLazyDeoptimization; |
159 } | 160 } |
160 | 161 |
161 inline bool OperatorProperties::CanLazilyDeoptimize(Operator* op) { | 162 inline bool OperatorProperties::CanLazilyDeoptimize(Operator* op) { |
162 // TODO(jarin) This function allows turning on lazy deoptimization | 163 // TODO(jarin) This function allows turning on lazy deoptimization |
163 // incrementally. It will change as we turn on lazy deopt for | 164 // incrementally. It will change as we turn on lazy deopt for |
164 // more nodes. | 165 // more nodes. |
165 | 166 |
166 if (!FLAG_turbo_deoptimization) { | 167 if (!FLAG_turbo_deoptimization) { |
167 return false; | 168 return false; |
168 } | 169 } |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 default: | 217 default: |
217 return false; | 218 return false; |
218 } | 219 } |
219 return false; | 220 return false; |
220 } | 221 } |
221 } | 222 } |
222 } | 223 } |
223 } // namespace v8::internal::compiler | 224 } // namespace v8::internal::compiler |
224 | 225 |
225 #endif // V8_COMPILER_OPERATOR_PROPERTIES_INL_H_ | 226 #endif // V8_COMPILER_OPERATOR_PROPERTIES_INL_H_ |
OLD | NEW |