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 992 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 MachineRepresentation rep = input_type->IsInhabited() | 1003 MachineRepresentation rep = input_type->IsInhabited() |
1004 ? input_info->representation() | 1004 ? input_info->representation() |
1005 : MachineRepresentation::kNone; | 1005 : MachineRepresentation::kNone; |
1006 MachineType machine_type(rep, DeoptValueSemanticOf(input_type)); | 1006 MachineType machine_type(rep, DeoptValueSemanticOf(input_type)); |
1007 DCHECK(machine_type.representation() != | 1007 DCHECK(machine_type.representation() != |
1008 MachineRepresentation::kWord32 || | 1008 MachineRepresentation::kWord32 || |
1009 machine_type.semantic() == MachineSemantic::kInt32 || | 1009 machine_type.semantic() == MachineSemantic::kInt32 || |
1010 machine_type.semantic() == MachineSemantic::kUint32); | 1010 machine_type.semantic() == MachineSemantic::kUint32); |
1011 (*types)[i] = machine_type; | 1011 (*types)[i] = machine_type; |
1012 } | 1012 } |
1013 NodeProperties::ChangeOp(node, | 1013 SparseInputMask mask = SparseInputMaskOf(node->op()); |
1014 jsgraph_->common()->TypedStateValues(types)); | 1014 NodeProperties::ChangeOp( |
| 1015 node, jsgraph_->common()->TypedStateValues(types, mask)); |
1015 } | 1016 } |
1016 SetOutput(node, MachineRepresentation::kTagged); | 1017 SetOutput(node, MachineRepresentation::kTagged); |
1017 } | 1018 } |
1018 | 1019 |
1019 void VisitObjectState(Node* node) { | 1020 void VisitObjectState(Node* node) { |
1020 if (propagate()) { | 1021 if (propagate()) { |
1021 for (int i = 0; i < node->InputCount(); i++) { | 1022 for (int i = 0; i < node->InputCount(); i++) { |
1022 Node* input = node->InputAt(i); | 1023 Node* input = node->InputAt(i); |
1023 Type* input_type = TypeOf(input); | 1024 Type* input_type = TypeOf(input); |
1024 // TODO(turbofan): Special treatment for ExternalPointer here, | 1025 // TODO(turbofan): Special treatment for ExternalPointer here, |
(...skipping 2427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3452 isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 3453 isolate(), graph()->zone(), callable.descriptor(), 0, flags, |
3453 Operator::kNoProperties); | 3454 Operator::kNoProperties); |
3454 to_number_operator_.set(common()->Call(desc)); | 3455 to_number_operator_.set(common()->Call(desc)); |
3455 } | 3456 } |
3456 return to_number_operator_.get(); | 3457 return to_number_operator_.get(); |
3457 } | 3458 } |
3458 | 3459 |
3459 } // namespace compiler | 3460 } // namespace compiler |
3460 } // namespace internal | 3461 } // namespace internal |
3461 } // namespace v8 | 3462 } // namespace v8 |
OLD | NEW |