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 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 CheckUpperIs(node, Type::Integral32()); | 454 CheckUpperIs(node, Type::Integral32()); |
455 break; | 455 break; |
456 case IrOpcode::kJSAdd: | 456 case IrOpcode::kJSAdd: |
457 // Type is Number or String. | 457 // Type is Number or String. |
458 CheckUpperIs(node, Type::NumberOrString()); | 458 CheckUpperIs(node, Type::NumberOrString()); |
459 break; | 459 break; |
460 case IrOpcode::kJSSubtract: | 460 case IrOpcode::kJSSubtract: |
461 case IrOpcode::kJSMultiply: | 461 case IrOpcode::kJSMultiply: |
462 case IrOpcode::kJSDivide: | 462 case IrOpcode::kJSDivide: |
463 case IrOpcode::kJSModulus: | 463 case IrOpcode::kJSModulus: |
| 464 case IrOpcode::kJSExponentiate: |
464 // Type is Number. | 465 // Type is Number. |
465 CheckUpperIs(node, Type::Number()); | 466 CheckUpperIs(node, Type::Number()); |
466 break; | 467 break; |
467 | 468 |
468 case IrOpcode::kJSToBoolean: | 469 case IrOpcode::kJSToBoolean: |
469 // Type is Boolean. | 470 // Type is Boolean. |
470 CheckUpperIs(node, Type::Boolean()); | 471 CheckUpperIs(node, Type::Boolean()); |
471 break; | 472 break; |
472 case IrOpcode::kJSToNumber: | 473 case IrOpcode::kJSToNumber: |
473 // Type is Number. | 474 // Type is Number. |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 // Check inputs for all nodes in the block. | 1050 // Check inputs for all nodes in the block. |
1050 for (size_t i = 0; i < block->NodeCount(); i++) { | 1051 for (size_t i = 0; i < block->NodeCount(); i++) { |
1051 Node* node = block->NodeAt(i); | 1052 Node* node = block->NodeAt(i); |
1052 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1); | 1053 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1); |
1053 } | 1054 } |
1054 } | 1055 } |
1055 } | 1056 } |
1056 } | 1057 } |
1057 } | 1058 } |
1058 } // namespace v8::internal::compiler | 1059 } // namespace v8::internal::compiler |
OLD | NEW |