| 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 2529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2540 return; | 2540 return; |
| 2541 } | 2541 } |
| 2542 case IrOpcode::kObjectIsString: { | 2542 case IrOpcode::kObjectIsString: { |
| 2543 VisitObjectIs(node, Type::String(), lowering); | 2543 VisitObjectIs(node, Type::String(), lowering); |
| 2544 return; | 2544 return; |
| 2545 } | 2545 } |
| 2546 case IrOpcode::kObjectIsUndetectable: { | 2546 case IrOpcode::kObjectIsUndetectable: { |
| 2547 VisitObjectIs(node, Type::Undetectable(), lowering); | 2547 VisitObjectIs(node, Type::Undetectable(), lowering); |
| 2548 return; | 2548 return; |
| 2549 } | 2549 } |
| 2550 case IrOpcode::kNewRestParameterElements: | 2550 case IrOpcode::kArgumentsFrame: { |
| 2551 SetOutput(node, MachineType::PointerRepresentation()); |
| 2552 return; |
| 2553 } |
| 2554 case IrOpcode::kArgumentsLength: { |
| 2555 VisitUnop(node, UseInfo::PointerInt(), |
| 2556 MachineRepresentation::kTaggedSigned); |
| 2557 return; |
| 2558 } |
| 2551 case IrOpcode::kNewUnmappedArgumentsElements: { | 2559 case IrOpcode::kNewUnmappedArgumentsElements: { |
| 2552 ProcessRemainingInputs(node, 0); | 2560 VisitBinop(node, UseInfo::PointerInt(), UseInfo::TaggedSigned(), |
| 2553 SetOutput(node, MachineRepresentation::kTaggedPointer); | 2561 MachineRepresentation::kTaggedPointer); |
| 2554 return; | 2562 return; |
| 2555 } | 2563 } |
| 2556 case IrOpcode::kArrayBufferWasNeutered: { | 2564 case IrOpcode::kArrayBufferWasNeutered: { |
| 2557 VisitUnop(node, UseInfo::AnyTagged(), MachineRepresentation::kBit); | 2565 VisitUnop(node, UseInfo::AnyTagged(), MachineRepresentation::kBit); |
| 2558 return; | 2566 return; |
| 2559 } | 2567 } |
| 2560 case IrOpcode::kCheckFloat64Hole: { | 2568 case IrOpcode::kCheckFloat64Hole: { |
| 2561 CheckFloat64HoleMode mode = CheckFloat64HoleModeOf(node->op()); | 2569 CheckFloat64HoleMode mode = CheckFloat64HoleModeOf(node->op()); |
| 2562 ProcessInput(node, 0, UseInfo::TruncatingFloat64()); | 2570 ProcessInput(node, 0, UseInfo::TruncatingFloat64()); |
| 2563 ProcessRemainingInputs(node, 1); | 2571 ProcessRemainingInputs(node, 1); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2657 case IrOpcode::kEffectPhi: | 2665 case IrOpcode::kEffectPhi: |
| 2658 case IrOpcode::kTerminate: | 2666 case IrOpcode::kTerminate: |
| 2659 case IrOpcode::kFrameState: | 2667 case IrOpcode::kFrameState: |
| 2660 case IrOpcode::kCheckpoint: | 2668 case IrOpcode::kCheckpoint: |
| 2661 case IrOpcode::kLoop: | 2669 case IrOpcode::kLoop: |
| 2662 case IrOpcode::kMerge: | 2670 case IrOpcode::kMerge: |
| 2663 case IrOpcode::kThrow: | 2671 case IrOpcode::kThrow: |
| 2664 case IrOpcode::kBeginRegion: | 2672 case IrOpcode::kBeginRegion: |
| 2665 case IrOpcode::kProjection: | 2673 case IrOpcode::kProjection: |
| 2666 case IrOpcode::kOsrValue: | 2674 case IrOpcode::kOsrValue: |
| 2667 case IrOpcode::kArgumentsObjectState: | 2675 case IrOpcode::kArgumentsElementsState: |
| 2668 // All JavaScript operators except JSToNumber have uniform handling. | 2676 // All JavaScript operators except JSToNumber have uniform handling. |
| 2669 #define OPCODE_CASE(name) case IrOpcode::k##name: | 2677 #define OPCODE_CASE(name) case IrOpcode::k##name: |
| 2670 JS_SIMPLE_BINOP_LIST(OPCODE_CASE) | 2678 JS_SIMPLE_BINOP_LIST(OPCODE_CASE) |
| 2671 JS_OTHER_UNOP_LIST(OPCODE_CASE) | 2679 JS_OTHER_UNOP_LIST(OPCODE_CASE) |
| 2672 JS_OBJECT_OP_LIST(OPCODE_CASE) | 2680 JS_OBJECT_OP_LIST(OPCODE_CASE) |
| 2673 JS_CONTEXT_OP_LIST(OPCODE_CASE) | 2681 JS_CONTEXT_OP_LIST(OPCODE_CASE) |
| 2674 JS_OTHER_OP_LIST(OPCODE_CASE) | 2682 JS_OTHER_OP_LIST(OPCODE_CASE) |
| 2675 #undef OPCODE_CASE | 2683 #undef OPCODE_CASE |
| 2676 case IrOpcode::kJSToInteger: | 2684 case IrOpcode::kJSToInteger: |
| 2677 case IrOpcode::kJSToLength: | 2685 case IrOpcode::kJSToLength: |
| (...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3510 isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 3518 isolate(), graph()->zone(), callable.descriptor(), 0, flags, |
| 3511 Operator::kNoProperties); | 3519 Operator::kNoProperties); |
| 3512 to_number_operator_.set(common()->Call(desc)); | 3520 to_number_operator_.set(common()->Call(desc)); |
| 3513 } | 3521 } |
| 3514 return to_number_operator_.get(); | 3522 return to_number_operator_.get(); |
| 3515 } | 3523 } |
| 3516 | 3524 |
| 3517 } // namespace compiler | 3525 } // namespace compiler |
| 3518 } // namespace internal | 3526 } // namespace internal |
| 3519 } // namespace v8 | 3527 } // namespace v8 |
| OLD | NEW |