| 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 |