| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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-lowering.h" | 5 #include "src/compiler/simplified-lowering.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "src/address-map.h" | 9 #include "src/address-map.h" |
| 10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
| (...skipping 2552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2563 return; | 2563 return; |
| 2564 } | 2564 } |
| 2565 case IrOpcode::kObjectIsString: { | 2565 case IrOpcode::kObjectIsString: { |
| 2566 VisitObjectIs(node, Type::String(), lowering); | 2566 VisitObjectIs(node, Type::String(), lowering); |
| 2567 return; | 2567 return; |
| 2568 } | 2568 } |
| 2569 case IrOpcode::kObjectIsUndetectable: { | 2569 case IrOpcode::kObjectIsUndetectable: { |
| 2570 VisitObjectIs(node, Type::Undetectable(), lowering); | 2570 VisitObjectIs(node, Type::Undetectable(), lowering); |
| 2571 return; | 2571 return; |
| 2572 } | 2572 } |
| 2573 case IrOpcode::kNewRestParameterElements: | 2573 case IrOpcode::kArgumentsFrame: { |
| 2574 SetOutput(node, MachineType::PointerRepresentation()); |
| 2575 return; |
| 2576 } |
| 2577 case IrOpcode::kArgumentsLength: { |
| 2578 VisitUnop(node, UseInfo::PointerInt(), |
| 2579 MachineRepresentation::kTaggedSigned); |
| 2580 return; |
| 2581 } |
| 2574 case IrOpcode::kNewUnmappedArgumentsElements: { | 2582 case IrOpcode::kNewUnmappedArgumentsElements: { |
| 2575 ProcessRemainingInputs(node, 0); | 2583 VisitBinop(node, UseInfo::PointerInt(), UseInfo::TaggedSigned(), |
| 2576 SetOutput(node, MachineRepresentation::kTaggedPointer); | 2584 MachineRepresentation::kTaggedPointer); |
| 2577 return; | 2585 return; |
| 2578 } | 2586 } |
| 2579 case IrOpcode::kArrayBufferWasNeutered: { | 2587 case IrOpcode::kArrayBufferWasNeutered: { |
| 2580 VisitUnop(node, UseInfo::AnyTagged(), MachineRepresentation::kBit); | 2588 VisitUnop(node, UseInfo::AnyTagged(), MachineRepresentation::kBit); |
| 2581 return; | 2589 return; |
| 2582 } | 2590 } |
| 2583 case IrOpcode::kCheckFloat64Hole: { | 2591 case IrOpcode::kCheckFloat64Hole: { |
| 2584 CheckFloat64HoleMode mode = CheckFloat64HoleModeOf(node->op()); | 2592 CheckFloat64HoleMode mode = CheckFloat64HoleModeOf(node->op()); |
| 2585 ProcessInput(node, 0, UseInfo::TruncatingFloat64()); | 2593 ProcessInput(node, 0, UseInfo::TruncatingFloat64()); |
| 2586 ProcessRemainingInputs(node, 1); | 2594 ProcessRemainingInputs(node, 1); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2680 case IrOpcode::kEffectPhi: | 2688 case IrOpcode::kEffectPhi: |
| 2681 case IrOpcode::kTerminate: | 2689 case IrOpcode::kTerminate: |
| 2682 case IrOpcode::kFrameState: | 2690 case IrOpcode::kFrameState: |
| 2683 case IrOpcode::kCheckpoint: | 2691 case IrOpcode::kCheckpoint: |
| 2684 case IrOpcode::kLoop: | 2692 case IrOpcode::kLoop: |
| 2685 case IrOpcode::kMerge: | 2693 case IrOpcode::kMerge: |
| 2686 case IrOpcode::kThrow: | 2694 case IrOpcode::kThrow: |
| 2687 case IrOpcode::kBeginRegion: | 2695 case IrOpcode::kBeginRegion: |
| 2688 case IrOpcode::kProjection: | 2696 case IrOpcode::kProjection: |
| 2689 case IrOpcode::kOsrValue: | 2697 case IrOpcode::kOsrValue: |
| 2690 case IrOpcode::kArgumentsObjectState: | 2698 case IrOpcode::kArgumentsElementsState: |
| 2691 // All JavaScript operators except JSToNumber have uniform handling. | 2699 // All JavaScript operators except JSToNumber have uniform handling. |
| 2692 #define OPCODE_CASE(name) case IrOpcode::k##name: | 2700 #define OPCODE_CASE(name) case IrOpcode::k##name: |
| 2693 JS_SIMPLE_BINOP_LIST(OPCODE_CASE) | 2701 JS_SIMPLE_BINOP_LIST(OPCODE_CASE) |
| 2694 JS_OTHER_UNOP_LIST(OPCODE_CASE) | 2702 JS_OTHER_UNOP_LIST(OPCODE_CASE) |
| 2695 JS_OBJECT_OP_LIST(OPCODE_CASE) | 2703 JS_OBJECT_OP_LIST(OPCODE_CASE) |
| 2696 JS_CONTEXT_OP_LIST(OPCODE_CASE) | 2704 JS_CONTEXT_OP_LIST(OPCODE_CASE) |
| 2697 JS_OTHER_OP_LIST(OPCODE_CASE) | 2705 JS_OTHER_OP_LIST(OPCODE_CASE) |
| 2698 #undef OPCODE_CASE | 2706 #undef OPCODE_CASE |
| 2699 case IrOpcode::kJSToInteger: | 2707 case IrOpcode::kJSToInteger: |
| 2700 case IrOpcode::kJSToLength: | 2708 case IrOpcode::kJSToLength: |
| (...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3532 isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 3540 isolate(), graph()->zone(), callable.descriptor(), 0, flags, |
| 3533 Operator::kNoProperties); | 3541 Operator::kNoProperties); |
| 3534 to_number_operator_.set(common()->Call(desc)); | 3542 to_number_operator_.set(common()->Call(desc)); |
| 3535 } | 3543 } |
| 3536 return to_number_operator_.get(); | 3544 return to_number_operator_.get(); |
| 3537 } | 3545 } |
| 3538 | 3546 |
| 3539 } // namespace compiler | 3547 } // namespace compiler |
| 3540 } // namespace internal | 3548 } // namespace internal |
| 3541 } // namespace v8 | 3549 } // namespace v8 |
| OLD | NEW |