| 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 |