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 2423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2434 MachineRepresentation::kTagged); | 2434 MachineRepresentation::kTagged); |
2435 case IrOpcode::kMaybeGrowFastElements: { | 2435 case IrOpcode::kMaybeGrowFastElements: { |
2436 ProcessInput(node, 0, UseInfo::AnyTagged()); // object | 2436 ProcessInput(node, 0, UseInfo::AnyTagged()); // object |
2437 ProcessInput(node, 1, UseInfo::AnyTagged()); // elements | 2437 ProcessInput(node, 1, UseInfo::AnyTagged()); // elements |
2438 ProcessInput(node, 2, UseInfo::TruncatingWord32()); // index | 2438 ProcessInput(node, 2, UseInfo::TruncatingWord32()); // index |
2439 ProcessInput(node, 3, UseInfo::TruncatingWord32()); // length | 2439 ProcessInput(node, 3, UseInfo::TruncatingWord32()); // length |
2440 ProcessRemainingInputs(node, 4); | 2440 ProcessRemainingInputs(node, 4); |
2441 SetOutput(node, MachineRepresentation::kTagged); | 2441 SetOutput(node, MachineRepresentation::kTagged); |
2442 return; | 2442 return; |
2443 } | 2443 } |
2444 case IrOpcode::kCheckHasInPrototypeChain: { | |
2445 return VisitBinop(node, UseInfo::AnyTagged(), | |
2446 MachineRepresentation::kBit); | |
2447 } | |
2448 | 2444 |
2449 case IrOpcode::kNumberSilenceNaN: | 2445 case IrOpcode::kNumberSilenceNaN: |
2450 VisitUnop(node, UseInfo::TruncatingFloat64(), | 2446 VisitUnop(node, UseInfo::TruncatingFloat64(), |
2451 MachineRepresentation::kFloat64); | 2447 MachineRepresentation::kFloat64); |
2452 if (lower()) NodeProperties::ChangeOp(node, Float64Op(node)); | 2448 if (lower()) NodeProperties::ChangeOp(node, Float64Op(node)); |
2453 return; | 2449 return; |
2454 case IrOpcode::kStateValues: | 2450 case IrOpcode::kStateValues: |
2455 return VisitStateValues(node); | 2451 return VisitStateValues(node); |
2456 case IrOpcode::kTypeGuard: { | 2452 case IrOpcode::kTypeGuard: { |
2457 // We just get rid of the sigma here. In principle, it should be | 2453 // We just get rid of the sigma here. In principle, it should be |
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3265 isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 3261 isolate(), graph()->zone(), callable.descriptor(), 0, flags, |
3266 Operator::kNoProperties); | 3262 Operator::kNoProperties); |
3267 to_number_operator_.set(common()->Call(desc)); | 3263 to_number_operator_.set(common()->Call(desc)); |
3268 } | 3264 } |
3269 return to_number_operator_.get(); | 3265 return to_number_operator_.get(); |
3270 } | 3266 } |
3271 | 3267 |
3272 } // namespace compiler | 3268 } // namespace compiler |
3273 } // namespace internal | 3269 } // namespace internal |
3274 } // namespace v8 | 3270 } // namespace v8 |
OLD | NEW |