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/bootstrapper.h" | 5 #include "src/bootstrapper.h" |
6 #include "src/compiler/graph-inl.h" | 6 #include "src/compiler/graph-inl.h" |
7 #include "src/compiler/graph-reducer.h" | 7 #include "src/compiler/graph-reducer.h" |
8 #include "src/compiler/js-operator.h" | 8 #include "src/compiler/js-operator.h" |
9 #include "src/compiler/node.h" | 9 #include "src/compiler/node.h" |
10 #include "src/compiler/node-properties-inl.h" | 10 #include "src/compiler/node-properties-inl.h" |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 | 582 |
583 | 583 |
584 Bounds Typer::Visitor::TypeStart(Node* node) { | 584 Bounds Typer::Visitor::TypeStart(Node* node) { |
585 return Bounds(Type::None(zone()), Type::Internal(zone())); | 585 return Bounds(Type::None(zone()), Type::Internal(zone())); |
586 } | 586 } |
587 | 587 |
588 | 588 |
589 // Common operators. | 589 // Common operators. |
590 | 590 |
591 | 591 |
| 592 Bounds Typer::Visitor::TypeAlways(Node* node) { |
| 593 return Bounds(Type::None(zone()), Type::Boolean(zone())); |
| 594 } |
| 595 |
| 596 |
592 Bounds Typer::Visitor::TypeParameter(Node* node) { | 597 Bounds Typer::Visitor::TypeParameter(Node* node) { |
593 return Bounds::Unbounded(zone()); | 598 return Bounds::Unbounded(zone()); |
594 } | 599 } |
595 | 600 |
596 | 601 |
597 Bounds Typer::Visitor::TypeOsrValue(Node* node) { | 602 Bounds Typer::Visitor::TypeOsrValue(Node* node) { |
598 // OSR values explicitly have type {None} before OSR form is deconstructed. | 603 // OSR values explicitly have type {None} before OSR form is deconstructed. |
599 if (node->InputAt(0)->opcode() == IrOpcode::kOsrLoopEntry) { | 604 if (node->InputAt(0)->opcode() == IrOpcode::kOsrLoopEntry) { |
600 return Bounds(Type::None(), Type::None()); | 605 return Bounds(Type::None(), Type::None()); |
601 } | 606 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
663 return bounds; | 668 return bounds; |
664 } | 669 } |
665 | 670 |
666 | 671 |
667 Bounds Typer::Visitor::TypeEffectPhi(Node* node) { | 672 Bounds Typer::Visitor::TypeEffectPhi(Node* node) { |
668 UNREACHABLE(); | 673 UNREACHABLE(); |
669 return Bounds(); | 674 return Bounds(); |
670 } | 675 } |
671 | 676 |
672 | 677 |
| 678 Bounds Typer::Visitor::TypeEffectSet(Node* node) { |
| 679 UNREACHABLE(); |
| 680 return Bounds(); |
| 681 } |
| 682 |
| 683 |
673 Bounds Typer::Visitor::TypeValueEffect(Node* node) { | 684 Bounds Typer::Visitor::TypeValueEffect(Node* node) { |
674 UNREACHABLE(); | 685 UNREACHABLE(); |
675 return Bounds(); | 686 return Bounds(); |
676 } | 687 } |
677 | 688 |
678 | 689 |
679 Bounds Typer::Visitor::TypeFinish(Node* node) { | 690 Bounds Typer::Visitor::TypeFinish(Node* node) { |
680 return Operand(node, 0); | 691 return Operand(node, 0); |
681 } | 692 } |
682 | 693 |
(...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2131 TYPED_ARRAYS(TYPED_ARRAY_CASE) | 2142 TYPED_ARRAYS(TYPED_ARRAY_CASE) |
2132 #undef TYPED_ARRAY_CASE | 2143 #undef TYPED_ARRAY_CASE |
2133 } | 2144 } |
2134 } | 2145 } |
2135 return Type::Constant(value, zone()); | 2146 return Type::Constant(value, zone()); |
2136 } | 2147 } |
2137 | 2148 |
2138 } // namespace compiler | 2149 } // namespace compiler |
2139 } // namespace internal | 2150 } // namespace internal |
2140 } // namespace v8 | 2151 } // namespace v8 |
OLD | NEW |