| 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 1488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1499 | 1499 |
| 1500 | 1500 |
| 1501 Bounds Typer::Visitor::TypeJSCallRuntime(Node* node) { | 1501 Bounds Typer::Visitor::TypeJSCallRuntime(Node* node) { |
| 1502 switch (CallRuntimeParametersOf(node->op()).id()) { | 1502 switch (CallRuntimeParametersOf(node->op()).id()) { |
| 1503 case Runtime::kInlineIsSmi: | 1503 case Runtime::kInlineIsSmi: |
| 1504 case Runtime::kInlineIsNonNegativeSmi: | 1504 case Runtime::kInlineIsNonNegativeSmi: |
| 1505 case Runtime::kInlineIsArray: | 1505 case Runtime::kInlineIsArray: |
| 1506 case Runtime::kInlineIsFunction: | 1506 case Runtime::kInlineIsFunction: |
| 1507 case Runtime::kInlineIsRegExp: | 1507 case Runtime::kInlineIsRegExp: |
| 1508 return Bounds(Type::None(zone()), Type::Boolean(zone())); | 1508 return Bounds(Type::None(zone()), Type::Boolean(zone())); |
| 1509 case Runtime::kInlineOptimizedDoubleLo: |
| 1510 case Runtime::kInlineOptimizedDoubleHi: |
| 1511 return Bounds(Type::None(zone()), Type::Signed32()); |
| 1512 case Runtime::kInlineOptimizedConstructDouble: |
| 1513 return Bounds(Type::None(zone()), Type::Number()); |
| 1509 default: | 1514 default: |
| 1510 break; | 1515 break; |
| 1511 } | 1516 } |
| 1512 return Bounds::Unbounded(zone()); | 1517 return Bounds::Unbounded(zone()); |
| 1513 } | 1518 } |
| 1514 | 1519 |
| 1515 | 1520 |
| 1516 Bounds Typer::Visitor::TypeJSDebugger(Node* node) { | 1521 Bounds Typer::Visitor::TypeJSDebugger(Node* node) { |
| 1517 return Bounds::Unbounded(zone()); | 1522 return Bounds::Unbounded(zone()); |
| 1518 } | 1523 } |
| (...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2091 return Bounds(Type::Number()); | 2096 return Bounds(Type::Number()); |
| 2092 } | 2097 } |
| 2093 | 2098 |
| 2094 | 2099 |
| 2095 Bounds Typer::Visitor::TypeFloat64RoundTiesAway(Node* node) { | 2100 Bounds Typer::Visitor::TypeFloat64RoundTiesAway(Node* node) { |
| 2096 // TODO(sigurds): We could have a tighter bound here. | 2101 // TODO(sigurds): We could have a tighter bound here. |
| 2097 return Bounds(Type::Number()); | 2102 return Bounds(Type::Number()); |
| 2098 } | 2103 } |
| 2099 | 2104 |
| 2100 | 2105 |
| 2106 Bounds Typer::Visitor::TypeFloat64ExtractLowWord32(Node* node) { |
| 2107 return Bounds(Type::Signed32()); |
| 2108 } |
| 2109 |
| 2110 |
| 2111 Bounds Typer::Visitor::TypeFloat64ExtractHighWord32(Node* node) { |
| 2112 return Bounds(Type::Signed32()); |
| 2113 } |
| 2114 |
| 2115 |
| 2116 Bounds Typer::Visitor::TypeFloat64InsertLowWord32(Node* node) { |
| 2117 return Bounds(Type::Number()); |
| 2118 } |
| 2119 |
| 2120 |
| 2121 Bounds Typer::Visitor::TypeFloat64InsertHighWord32(Node* node) { |
| 2122 return Bounds(Type::Number()); |
| 2123 } |
| 2124 |
| 2125 |
| 2101 Bounds Typer::Visitor::TypeLoadStackPointer(Node* node) { | 2126 Bounds Typer::Visitor::TypeLoadStackPointer(Node* node) { |
| 2102 return Bounds(Type::Internal()); | 2127 return Bounds(Type::Internal()); |
| 2103 } | 2128 } |
| 2104 | 2129 |
| 2105 | 2130 |
| 2106 Bounds Typer::Visitor::TypeCheckedLoad(Node* node) { | 2131 Bounds Typer::Visitor::TypeCheckedLoad(Node* node) { |
| 2107 return Bounds::Unbounded(zone()); | 2132 return Bounds::Unbounded(zone()); |
| 2108 } | 2133 } |
| 2109 | 2134 |
| 2110 | 2135 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2186 TYPED_ARRAYS(TYPED_ARRAY_CASE) | 2211 TYPED_ARRAYS(TYPED_ARRAY_CASE) |
| 2187 #undef TYPED_ARRAY_CASE | 2212 #undef TYPED_ARRAY_CASE |
| 2188 } | 2213 } |
| 2189 } | 2214 } |
| 2190 return Type::Constant(value, zone()); | 2215 return Type::Constant(value, zone()); |
| 2191 } | 2216 } |
| 2192 | 2217 |
| 2193 } // namespace compiler | 2218 } // namespace compiler |
| 2194 } // namespace internal | 2219 } // namespace internal |
| 2195 } // namespace v8 | 2220 } // namespace v8 |
| OLD | NEW |