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/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
626 | 626 |
627 // Convert inputs to the output representation of this phi, pass the | 627 // Convert inputs to the output representation of this phi, pass the |
628 // truncation truncation along. | 628 // truncation truncation along. |
629 UseInfo input_use(output, truncation); | 629 UseInfo input_use(output, truncation); |
630 for (int i = 0; i < node->InputCount(); i++) { | 630 for (int i = 0; i < node->InputCount(); i++) { |
631 ProcessInput(node, i, i < values ? input_use : UseInfo::None()); | 631 ProcessInput(node, i, i < values ? input_use : UseInfo::None()); |
632 } | 632 } |
633 } | 633 } |
634 | 634 |
635 void VisitCall(Node* node, SimplifiedLowering* lowering) { | 635 void VisitCall(Node* node, SimplifiedLowering* lowering) { |
636 const CallDescriptor* desc = OpParameter<const CallDescriptor*>(node->op()); | 636 const CallDescriptor* desc = CallDescriptorOf(node->op()); |
637 const MachineSignature* sig = desc->GetMachineSignature(); | 637 const MachineSignature* sig = desc->GetMachineSignature(); |
638 int params = static_cast<int>(sig->parameter_count()); | 638 int params = static_cast<int>(sig->parameter_count()); |
639 // Propagate representation information from call descriptor. | 639 // Propagate representation information from call descriptor. |
640 for (int i = 0; i < node->InputCount(); i++) { | 640 for (int i = 0; i < node->InputCount(); i++) { |
641 if (i == 0) { | 641 if (i == 0) { |
642 // The target of the call. | 642 // The target of the call. |
643 ProcessInput(node, i, UseInfo::None()); | 643 ProcessInput(node, i, UseInfo::None()); |
644 } else if ((i - 1) < params) { | 644 } else if ((i - 1) < params) { |
645 ProcessInput(node, i, TruncatingUseInfoFromRepresentation( | 645 ProcessInput(node, i, TruncatingUseInfoFromRepresentation( |
646 sig->GetParam(i - 1).representation())); | 646 sig->GetParam(i - 1).representation())); |
(...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2179 if (!rhs_type->Is(type_cache_.kZeroToThirtyOne)) { | 2179 if (!rhs_type->Is(type_cache_.kZeroToThirtyOne)) { |
2180 node->ReplaceInput(1, graph()->NewNode(machine()->Word32And(), rhs, | 2180 node->ReplaceInput(1, graph()->NewNode(machine()->Word32And(), rhs, |
2181 jsgraph()->Int32Constant(0x1f))); | 2181 jsgraph()->Int32Constant(0x1f))); |
2182 } | 2182 } |
2183 NodeProperties::ChangeOp(node, op); | 2183 NodeProperties::ChangeOp(node, op); |
2184 } | 2184 } |
2185 | 2185 |
2186 } // namespace compiler | 2186 } // namespace compiler |
2187 } // namespace internal | 2187 } // namespace internal |
2188 } // namespace v8 | 2188 } // namespace v8 |
OLD | NEW |