OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #include "src/compiler/simplified-operator.h" | 5 #include "src/compiler/simplified-operator.h" |
6 | 6 |
7 #include "src/base/lazy-instance.h" | 7 #include "src/base/lazy-instance.h" |
8 #include "src/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
10 #include "src/compiler/types.h" | 10 #include "src/compiler/types.h" |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 op->opcode() == IrOpcode::kSpeculativeNumberShiftRightLogical || | 325 op->opcode() == IrOpcode::kSpeculativeNumberShiftRightLogical || |
326 op->opcode() == IrOpcode::kSpeculativeNumberBitwiseAnd || | 326 op->opcode() == IrOpcode::kSpeculativeNumberBitwiseAnd || |
327 op->opcode() == IrOpcode::kSpeculativeNumberBitwiseOr || | 327 op->opcode() == IrOpcode::kSpeculativeNumberBitwiseOr || |
328 op->opcode() == IrOpcode::kSpeculativeNumberBitwiseXor || | 328 op->opcode() == IrOpcode::kSpeculativeNumberBitwiseXor || |
329 op->opcode() == IrOpcode::kSpeculativeNumberEqual || | 329 op->opcode() == IrOpcode::kSpeculativeNumberEqual || |
330 op->opcode() == IrOpcode::kSpeculativeNumberLessThan || | 330 op->opcode() == IrOpcode::kSpeculativeNumberLessThan || |
331 op->opcode() == IrOpcode::kSpeculativeNumberLessThanOrEqual); | 331 op->opcode() == IrOpcode::kSpeculativeNumberLessThanOrEqual); |
332 return OpParameter<NumberOperationHint>(op); | 332 return OpParameter<NumberOperationHint>(op); |
333 } | 333 } |
334 | 334 |
| 335 PretenureFlag PretenureFlagOf(const Operator* op) { |
| 336 DCHECK_EQ(IrOpcode::kAllocate, op->opcode()); |
| 337 return OpParameter<PretenureFlag>(op); |
| 338 } |
| 339 |
335 #define PURE_OP_LIST(V) \ | 340 #define PURE_OP_LIST(V) \ |
336 V(BooleanNot, Operator::kNoProperties, 1, 0) \ | 341 V(BooleanNot, Operator::kNoProperties, 1, 0) \ |
337 V(NumberEqual, Operator::kCommutative, 2, 0) \ | 342 V(NumberEqual, Operator::kCommutative, 2, 0) \ |
338 V(NumberLessThan, Operator::kNoProperties, 2, 0) \ | 343 V(NumberLessThan, Operator::kNoProperties, 2, 0) \ |
339 V(NumberLessThanOrEqual, Operator::kNoProperties, 2, 0) \ | 344 V(NumberLessThanOrEqual, Operator::kNoProperties, 2, 0) \ |
340 V(NumberAdd, Operator::kCommutative, 2, 0) \ | 345 V(NumberAdd, Operator::kCommutative, 2, 0) \ |
341 V(NumberSubtract, Operator::kNoProperties, 2, 0) \ | 346 V(NumberSubtract, Operator::kNoProperties, 2, 0) \ |
342 V(NumberMultiply, Operator::kCommutative, 2, 0) \ | 347 V(NumberMultiply, Operator::kCommutative, 2, 0) \ |
343 V(NumberDivide, Operator::kNoProperties, 2, 0) \ | 348 V(NumberDivide, Operator::kNoProperties, 2, 0) \ |
344 V(NumberModulus, Operator::kNoProperties, 2, 0) \ | 349 V(NumberModulus, Operator::kNoProperties, 2, 0) \ |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 Operator::kNoDeopt | Operator::kNoThrow | properties, \ | 810 Operator::kNoDeopt | Operator::kNoThrow | properties, \ |
806 #Name, value_input_count, 1, control_input_count, \ | 811 #Name, value_input_count, 1, control_input_count, \ |
807 output_count, 1, 0, access); \ | 812 output_count, 1, 0, access); \ |
808 } | 813 } |
809 ACCESS_OP_LIST(ACCESS) | 814 ACCESS_OP_LIST(ACCESS) |
810 #undef ACCESS | 815 #undef ACCESS |
811 | 816 |
812 } // namespace compiler | 817 } // namespace compiler |
813 } // namespace internal | 818 } // namespace internal |
814 } // namespace v8 | 819 } // namespace v8 |
OLD | NEW |