| 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/base/flags.h" | 5 #include "src/base/flags.h" |
| 6 #include "src/bootstrapper.h" | 6 #include "src/bootstrapper.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.h" | 10 #include "src/compiler/node-properties.h" |
| (...skipping 1766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1777 | 1777 |
| 1778 | 1778 |
| 1779 Bounds Typer::Visitor::TypeChangeBitToBool(Node* node) { | 1779 Bounds Typer::Visitor::TypeChangeBitToBool(Node* node) { |
| 1780 Bounds arg = Operand(node, 0); | 1780 Bounds arg = Operand(node, 0); |
| 1781 // TODO(neis): DCHECK(arg.upper->Is(Type::Boolean())); | 1781 // TODO(neis): DCHECK(arg.upper->Is(Type::Boolean())); |
| 1782 return Bounds(ChangeRepresentation(arg.lower, Type::TaggedPointer(), zone()), | 1782 return Bounds(ChangeRepresentation(arg.lower, Type::TaggedPointer(), zone()), |
| 1783 ChangeRepresentation(arg.upper, Type::TaggedPointer(), zone())); | 1783 ChangeRepresentation(arg.upper, Type::TaggedPointer(), zone())); |
| 1784 } | 1784 } |
| 1785 | 1785 |
| 1786 | 1786 |
| 1787 Bounds Typer::Visitor::TypeAllocate(Node* node) { |
| 1788 return Bounds(Type::TaggedPointer()); |
| 1789 } |
| 1790 |
| 1791 |
| 1787 Bounds Typer::Visitor::TypeLoadField(Node* node) { | 1792 Bounds Typer::Visitor::TypeLoadField(Node* node) { |
| 1788 return Bounds(FieldAccessOf(node->op()).type); | 1793 return Bounds(FieldAccessOf(node->op()).type); |
| 1789 } | 1794 } |
| 1790 | 1795 |
| 1791 | 1796 |
| 1792 Bounds Typer::Visitor::TypeLoadBuffer(Node* node) { | 1797 Bounds Typer::Visitor::TypeLoadBuffer(Node* node) { |
| 1793 // TODO(bmeurer): This typing is not yet correct. Since we can still access | 1798 // TODO(bmeurer): This typing is not yet correct. Since we can still access |
| 1794 // out of bounds, the type in the general case has to include Undefined. | 1799 // out of bounds, the type in the general case has to include Undefined. |
| 1795 switch (BufferAccessOf(node->op()).external_array_type()) { | 1800 switch (BufferAccessOf(node->op()).external_array_type()) { |
| 1796 #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ | 1801 #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2361 TYPED_ARRAYS(TYPED_ARRAY_CASE) | 2366 TYPED_ARRAYS(TYPED_ARRAY_CASE) |
| 2362 #undef TYPED_ARRAY_CASE | 2367 #undef TYPED_ARRAY_CASE |
| 2363 } | 2368 } |
| 2364 } | 2369 } |
| 2365 return Type::Constant(value, zone()); | 2370 return Type::Constant(value, zone()); |
| 2366 } | 2371 } |
| 2367 | 2372 |
| 2368 } // namespace compiler | 2373 } // namespace compiler |
| 2369 } // namespace internal | 2374 } // namespace internal |
| 2370 } // namespace v8 | 2375 } // namespace v8 |
| OLD | NEW |