| 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 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 494 return VisitLeaf(node, kRepWord64); | 494 return VisitLeaf(node, kRepWord64); |
| 495 case IrOpcode::kFloat64Constant: | 495 case IrOpcode::kFloat64Constant: |
| 496 return VisitLeaf(node, kRepFloat64); | 496 return VisitLeaf(node, kRepFloat64); |
| 497 case IrOpcode::kExternalConstant: | 497 case IrOpcode::kExternalConstant: |
| 498 return VisitLeaf(node, kMachPtr); | 498 return VisitLeaf(node, kMachPtr); |
| 499 case IrOpcode::kNumberConstant: | 499 case IrOpcode::kNumberConstant: |
| 500 return VisitLeaf(node, kRepTagged); | 500 return VisitLeaf(node, kRepTagged); |
| 501 case IrOpcode::kHeapConstant: | 501 case IrOpcode::kHeapConstant: |
| 502 return VisitLeaf(node, kRepTagged); | 502 return VisitLeaf(node, kRepTagged); |
| 503 | 503 |
| 504 case IrOpcode::kEnd: | |
| 505 case IrOpcode::kIfTrue: | |
| 506 case IrOpcode::kIfFalse: | |
| 507 case IrOpcode::kReturn: | |
| 508 case IrOpcode::kMerge: | |
| 509 case IrOpcode::kThrow: | |
| 510 return VisitInputs(node); // default visit for all node inputs. | |
| 511 | |
| 512 case IrOpcode::kBranch: | 504 case IrOpcode::kBranch: |
| 513 ProcessInput(node, 0, kRepBit); | 505 ProcessInput(node, 0, kRepBit); |
| 514 Enqueue(NodeProperties::GetControlInput(node, 0)); | 506 Enqueue(NodeProperties::GetControlInput(node, 0)); |
| 515 break; | 507 break; |
| 508 case IrOpcode::kSwitch: |
| 509 ProcessInput(node, 0, kRepWord32); |
| 510 Enqueue(NodeProperties::GetControlInput(node, 0)); |
| 511 break; |
| 516 case IrOpcode::kSelect: | 512 case IrOpcode::kSelect: |
| 517 return VisitSelect(node, use, lowering); | 513 return VisitSelect(node, use, lowering); |
| 518 case IrOpcode::kPhi: | 514 case IrOpcode::kPhi: |
| 519 return VisitPhi(node, use, lowering); | 515 return VisitPhi(node, use, lowering); |
| 520 | 516 |
| 521 //------------------------------------------------------------------ | 517 //------------------------------------------------------------------ |
| 522 // JavaScript operators. | 518 // JavaScript operators. |
| 523 //------------------------------------------------------------------ | 519 //------------------------------------------------------------------ |
| 524 // For now, we assume that all JS operators were too complex to lower | 520 // For now, we assume that all JS operators were too complex to lower |
| 525 // to Simplified and that they will always require tagged value inputs | 521 // to Simplified and that they will always require tagged value inputs |
| (...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1535 | 1531 |
| 1536 void SimplifiedLowering::DoStringLessThanOrEqual(Node* node) { | 1532 void SimplifiedLowering::DoStringLessThanOrEqual(Node* node) { |
| 1537 node->set_op(machine()->IntLessThanOrEqual()); | 1533 node->set_op(machine()->IntLessThanOrEqual()); |
| 1538 node->ReplaceInput(0, StringComparison(node, true)); | 1534 node->ReplaceInput(0, StringComparison(node, true)); |
| 1539 node->ReplaceInput(1, jsgraph()->SmiConstant(EQUAL)); | 1535 node->ReplaceInput(1, jsgraph()->SmiConstant(EQUAL)); |
| 1540 } | 1536 } |
| 1541 | 1537 |
| 1542 } // namespace compiler | 1538 } // namespace compiler |
| 1543 } // namespace internal | 1539 } // namespace internal |
| 1544 } // namespace v8 | 1540 } // namespace v8 |
| OLD | NEW |