| 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/typer.h" | 5 #include "src/compiler/typer.h" |
| 6 | 6 |
| 7 #include "src/base/flags.h" | 7 #include "src/base/flags.h" |
| 8 #include "src/bootstrapper.h" | 8 #include "src/bootstrapper.h" |
| 9 #include "src/compilation-dependencies.h" | 9 #include "src/compilation-dependencies.h" |
| 10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
| (...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1208 | 1208 |
| 1209 | 1209 |
| 1210 Type* Typer::Visitor::TypeJSCreate(Node* node) { return Type::Object(); } | 1210 Type* Typer::Visitor::TypeJSCreate(Node* node) { return Type::Object(); } |
| 1211 | 1211 |
| 1212 | 1212 |
| 1213 Type* Typer::Visitor::TypeJSCreateArguments(Node* node) { | 1213 Type* Typer::Visitor::TypeJSCreateArguments(Node* node) { |
| 1214 return Type::OtherObject(); | 1214 return Type::OtherObject(); |
| 1215 } | 1215 } |
| 1216 | 1216 |
| 1217 | 1217 |
| 1218 Type* Typer::Visitor::TypeJSCreateArray(Node* node) { |
| 1219 return Type::OtherObject(); |
| 1220 } |
| 1221 |
| 1222 |
| 1218 Type* Typer::Visitor::TypeJSCreateClosure(Node* node) { | 1223 Type* Typer::Visitor::TypeJSCreateClosure(Node* node) { |
| 1219 return Type::OtherObject(); | 1224 return Type::OtherObject(); |
| 1220 } | 1225 } |
| 1221 | 1226 |
| 1222 | 1227 |
| 1223 Type* Typer::Visitor::TypeJSCreateLiteralArray(Node* node) { | 1228 Type* Typer::Visitor::TypeJSCreateLiteralArray(Node* node) { |
| 1224 return Type::None(), Type::OtherObject(); | 1229 return Type::None(), Type::OtherObject(); |
| 1225 } | 1230 } |
| 1226 | 1231 |
| 1227 | 1232 |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1373 return Type::Any(); | 1378 return Type::Any(); |
| 1374 } | 1379 } |
| 1375 | 1380 |
| 1376 | 1381 |
| 1377 Type* Typer::Visitor::TypeJSStoreContext(Node* node) { | 1382 Type* Typer::Visitor::TypeJSStoreContext(Node* node) { |
| 1378 UNREACHABLE(); | 1383 UNREACHABLE(); |
| 1379 return nullptr; | 1384 return nullptr; |
| 1380 } | 1385 } |
| 1381 | 1386 |
| 1382 | 1387 |
| 1388 Type* Typer::Visitor::TypeJSLoadNativeContext(Node* node) { |
| 1389 return Type::Intersect(Type::Internal(), Type::TaggedPointer(), zone()); |
| 1390 } |
| 1391 |
| 1392 |
| 1383 Type* Typer::Visitor::TypeJSLoadDynamic(Node* node) { return Type::Any(); } | 1393 Type* Typer::Visitor::TypeJSLoadDynamic(Node* node) { return Type::Any(); } |
| 1384 | 1394 |
| 1385 | 1395 |
| 1386 Type* Typer::Visitor::WrapContextTypeForInput(Node* node) { | 1396 Type* Typer::Visitor::WrapContextTypeForInput(Node* node) { |
| 1387 Type* outer = TypeOrNone(NodeProperties::GetContextInput(node)); | 1397 Type* outer = TypeOrNone(NodeProperties::GetContextInput(node)); |
| 1388 if (outer->Is(Type::None())) { | 1398 if (outer->Is(Type::None())) { |
| 1389 return Type::None(); | 1399 return Type::None(); |
| 1390 } else { | 1400 } else { |
| 1391 DCHECK(outer->Maybe(Type::Internal())); | 1401 DCHECK(outer->Maybe(Type::Internal())); |
| 1392 return Type::Context(outer, zone()); | 1402 return Type::Context(outer, zone()); |
| (...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2332 } | 2342 } |
| 2333 if (Type::IsInteger(*value)) { | 2343 if (Type::IsInteger(*value)) { |
| 2334 return Type::Range(value->Number(), value->Number(), zone()); | 2344 return Type::Range(value->Number(), value->Number(), zone()); |
| 2335 } | 2345 } |
| 2336 return Type::Constant(value, zone()); | 2346 return Type::Constant(value, zone()); |
| 2337 } | 2347 } |
| 2338 | 2348 |
| 2339 } // namespace compiler | 2349 } // namespace compiler |
| 2340 } // namespace internal | 2350 } // namespace internal |
| 2341 } // namespace v8 | 2351 } // namespace v8 |
| OLD | NEW |