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/js-operator.h" | 7 #include "src/compiler/js-operator.h" |
8 #include "src/compiler/node.h" | 8 #include "src/compiler/node.h" |
9 #include "src/compiler/node-properties-inl.h" | 9 #include "src/compiler/node-properties-inl.h" |
10 #include "src/compiler/node-properties.h" | 10 #include "src/compiler/node-properties.h" |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 Bounds Typer::Visitor::TypeHeapConstant(Node* node) { | 528 Bounds Typer::Visitor::TypeHeapConstant(Node* node) { |
529 return Bounds(TypeConstant(OpParameter<Unique<Object> >(node).handle())); | 529 return Bounds(TypeConstant(OpParameter<Unique<Object> >(node).handle())); |
530 } | 530 } |
531 | 531 |
532 | 532 |
533 Bounds Typer::Visitor::TypeExternalConstant(Node* node) { | 533 Bounds Typer::Visitor::TypeExternalConstant(Node* node) { |
534 return Bounds(Type::None(zone()), Type::Internal(zone())); | 534 return Bounds(Type::None(zone()), Type::Internal(zone())); |
535 } | 535 } |
536 | 536 |
537 | 537 |
| 538 Bounds Typer::Visitor::TypeSelect(Node* node) { |
| 539 return Bounds::Either(Operand(node, 1), Operand(node, 2), zone()); |
| 540 } |
| 541 |
| 542 |
538 Bounds Typer::Visitor::TypePhi(Node* node) { | 543 Bounds Typer::Visitor::TypePhi(Node* node) { |
539 int arity = OperatorProperties::GetValueInputCount(node->op()); | 544 int arity = OperatorProperties::GetValueInputCount(node->op()); |
540 Bounds bounds = Operand(node, 0); | 545 Bounds bounds = Operand(node, 0); |
541 for (int i = 1; i < arity; ++i) { | 546 for (int i = 1; i < arity; ++i) { |
542 bounds = Bounds::Either(bounds, Operand(node, i), zone()); | 547 bounds = Bounds::Either(bounds, Operand(node, i), zone()); |
543 } | 548 } |
544 return bounds; | 549 return bounds; |
545 } | 550 } |
546 | 551 |
547 | 552 |
(...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1875 return typer_->float64_array_fun_; | 1880 return typer_->float64_array_fun_; |
1876 } | 1881 } |
1877 } | 1882 } |
1878 } | 1883 } |
1879 return Type::Constant(value, zone()); | 1884 return Type::Constant(value, zone()); |
1880 } | 1885 } |
1881 | 1886 |
1882 } | 1887 } |
1883 } | 1888 } |
1884 } // namespace v8::internal::compiler | 1889 } // namespace v8::internal::compiler |
OLD | NEW |