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 |