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/verifier.h" | 5 #include "src/compiler/verifier.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <deque> | 8 #include <deque> |
9 #include <queue> | 9 #include <queue> |
10 #include <sstream> | 10 #include <sstream> |
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 case IrOpcode::kJSDivide: | 485 case IrOpcode::kJSDivide: |
486 case IrOpcode::kJSModulus: | 486 case IrOpcode::kJSModulus: |
487 // Type is Number. | 487 // Type is Number. |
488 CheckUpperIs(node, Type::Number()); | 488 CheckUpperIs(node, Type::Number()); |
489 break; | 489 break; |
490 | 490 |
491 case IrOpcode::kJSToBoolean: | 491 case IrOpcode::kJSToBoolean: |
492 // Type is Boolean. | 492 // Type is Boolean. |
493 CheckUpperIs(node, Type::Boolean()); | 493 CheckUpperIs(node, Type::Boolean()); |
494 break; | 494 break; |
| 495 case IrOpcode::kJSToInteger: |
| 496 // Type is OrderedNumber. |
| 497 CheckUpperIs(node, Type::OrderedNumber()); |
| 498 break; |
| 499 case IrOpcode::kJSToLength: |
| 500 // Type is OrderedNumber. |
| 501 CheckUpperIs(node, Type::OrderedNumber()); |
| 502 break; |
| 503 case IrOpcode::kJSToName: |
| 504 // Type is Name. |
| 505 CheckUpperIs(node, Type::Name()); |
| 506 break; |
495 case IrOpcode::kJSToNumber: | 507 case IrOpcode::kJSToNumber: |
496 // Type is Number. | 508 // Type is Number. |
497 CheckUpperIs(node, Type::Number()); | 509 CheckUpperIs(node, Type::Number()); |
498 break; | 510 break; |
499 case IrOpcode::kJSToString: | 511 case IrOpcode::kJSToString: |
500 // Type is String. | 512 // Type is String. |
501 CheckUpperIs(node, Type::String()); | 513 CheckUpperIs(node, Type::String()); |
502 break; | 514 break; |
503 case IrOpcode::kJSToName: | |
504 // Type is Name. | |
505 CheckUpperIs(node, Type::Name()); | |
506 break; | |
507 case IrOpcode::kJSToObject: | 515 case IrOpcode::kJSToObject: |
508 // Type is Receiver. | 516 // Type is Receiver. |
509 CheckUpperIs(node, Type::Receiver()); | 517 CheckUpperIs(node, Type::Receiver()); |
510 break; | 518 break; |
511 | 519 |
512 case IrOpcode::kJSCreate: | 520 case IrOpcode::kJSCreate: |
513 // Type is Object. | 521 // Type is Object. |
514 CheckUpperIs(node, Type::Object()); | 522 CheckUpperIs(node, Type::Object()); |
515 break; | 523 break; |
516 case IrOpcode::kJSCreateArguments: | 524 case IrOpcode::kJSCreateArguments: |
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1294 replacement->op()->EffectOutputCount() > 0); | 1302 replacement->op()->EffectOutputCount() > 0); |
1295 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1303 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1296 replacement->opcode() == IrOpcode::kFrameState); | 1304 replacement->opcode() == IrOpcode::kFrameState); |
1297 } | 1305 } |
1298 | 1306 |
1299 #endif // DEBUG | 1307 #endif // DEBUG |
1300 | 1308 |
1301 } // namespace compiler | 1309 } // namespace compiler |
1302 } // namespace internal | 1310 } // namespace internal |
1303 } // namespace v8 | 1311 } // namespace v8 |
OLD | NEW |