| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/wasm-compiler.h" | 5 #include "src/compiler/wasm-compiler.h" |
| 6 | 6 |
| 7 #include "src/isolate-inl.h" | 7 #include "src/isolate-inl.h" |
| 8 | 8 |
| 9 #include "src/base/platform/platform.h" | 9 #include "src/base/platform/platform.h" |
| 10 | 10 |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 // kExprI64ShrU: | 507 // kExprI64ShrU: |
| 508 // kExprI64ShrS: | 508 // kExprI64ShrS: |
| 509 // kExprI64Eq: | 509 // kExprI64Eq: |
| 510 case wasm::kExprI64Eq: | 510 case wasm::kExprI64Eq: |
| 511 op = m->Word64Equal(); | 511 op = m->Word64Equal(); |
| 512 break; | 512 break; |
| 513 // kExprI64Ne: | 513 // kExprI64Ne: |
| 514 case wasm::kExprI64Ne: | 514 case wasm::kExprI64Ne: |
| 515 return Invert(Binop(wasm::kExprI64Eq, left, right)); | 515 return Invert(Binop(wasm::kExprI64Eq, left, right)); |
| 516 // kExprI64LtS: | 516 // kExprI64LtS: |
| 517 // kExprI64LeS: | 517 case wasm::kExprI64LtS: |
| 518 // kExprI64LtU: | 518 op = m->Int64LessThan(); |
| 519 // kExprI64LeU: | 519 break; |
| 520 // kExprI64GtS: | 520 case wasm::kExprI64LeS: |
| 521 // kExprI64GeS: | 521 op = m->Int64LessThanOrEqual(); |
| 522 // kExprI64GtU: | 522 break; |
| 523 // kExprI64GeU: | 523 case wasm::kExprI64LtU: |
| 524 op = m->Uint64LessThan(); |
| 525 break; |
| 526 case wasm::kExprI64LeU: |
| 527 op = m->Uint64LessThanOrEqual(); |
| 528 break; |
| 529 case wasm::kExprI64GtS: |
| 530 op = m->Int64LessThan(); |
| 531 std::swap(left, right); |
| 532 break; |
| 533 case wasm::kExprI64GeS: |
| 534 op = m->Int64LessThanOrEqual(); |
| 535 std::swap(left, right); |
| 536 break; |
| 537 case wasm::kExprI64GtU: |
| 538 op = m->Uint64LessThan(); |
| 539 std::swap(left, right); |
| 540 break; |
| 541 case wasm::kExprI64GeU: |
| 542 op = m->Uint64LessThanOrEqual(); |
| 543 std::swap(left, right); |
| 544 break; |
| 524 | 545 |
| 525 // kExprI32ConvertI64: | 546 // kExprI32ConvertI64: |
| 526 // kExprI64SConvertI32: | 547 // kExprI64SConvertI32: |
| 527 // kExprI64UConvertI32: | 548 // kExprI64UConvertI32: |
| 528 | 549 |
| 529 // kExprF64ReinterpretI64: | 550 // kExprF64ReinterpretI64: |
| 530 // kExprI64ReinterpretF64: | 551 // kExprI64ReinterpretF64: |
| 531 | 552 |
| 532 // kExprI64Clz: | 553 // kExprI64Clz: |
| 533 // kExprI64Ctz: | 554 // kExprI64Ctz: |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 trap_->ZeroCheck64(kTrapRemByZero, right)); | 614 trap_->ZeroCheck64(kTrapRemByZero, right)); |
| 594 case wasm::kExprI64Shl: | 615 case wasm::kExprI64Shl: |
| 595 op = m->Word64Shl(); | 616 op = m->Word64Shl(); |
| 596 break; | 617 break; |
| 597 case wasm::kExprI64ShrU: | 618 case wasm::kExprI64ShrU: |
| 598 op = m->Word64Shr(); | 619 op = m->Word64Shr(); |
| 599 break; | 620 break; |
| 600 case wasm::kExprI64ShrS: | 621 case wasm::kExprI64ShrS: |
| 601 op = m->Word64Sar(); | 622 op = m->Word64Sar(); |
| 602 break; | 623 break; |
| 603 case wasm::kExprI64LtS: | |
| 604 op = m->Int64LessThan(); | |
| 605 break; | |
| 606 case wasm::kExprI64LeS: | |
| 607 op = m->Int64LessThanOrEqual(); | |
| 608 break; | |
| 609 case wasm::kExprI64LtU: | |
| 610 op = m->Uint64LessThan(); | |
| 611 break; | |
| 612 case wasm::kExprI64LeU: | |
| 613 op = m->Uint64LessThanOrEqual(); | |
| 614 break; | |
| 615 case wasm::kExprI64GtS: | |
| 616 op = m->Int64LessThan(); | |
| 617 std::swap(left, right); | |
| 618 break; | |
| 619 case wasm::kExprI64GeS: | |
| 620 op = m->Int64LessThanOrEqual(); | |
| 621 std::swap(left, right); | |
| 622 break; | |
| 623 case wasm::kExprI64GtU: | |
| 624 op = m->Uint64LessThan(); | |
| 625 std::swap(left, right); | |
| 626 break; | |
| 627 case wasm::kExprI64GeU: | |
| 628 op = m->Uint64LessThanOrEqual(); | |
| 629 std::swap(left, right); | |
| 630 break; | |
| 631 #endif | 624 #endif |
| 632 | 625 |
| 633 case wasm::kExprF32CopySign: | 626 case wasm::kExprF32CopySign: |
| 634 return BuildF32CopySign(left, right); | 627 return BuildF32CopySign(left, right); |
| 635 case wasm::kExprF64CopySign: | 628 case wasm::kExprF64CopySign: |
| 636 return BuildF64CopySign(left, right); | 629 return BuildF64CopySign(left, right); |
| 637 case wasm::kExprF32Add: | 630 case wasm::kExprF32Add: |
| 638 op = m->Float32Add(); | 631 op = m->Float32Add(); |
| 639 break; | 632 break; |
| 640 case wasm::kExprF32Sub: | 633 case wasm::kExprF32Sub: |
| (...skipping 1613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2254 module_env->module->GetName(function.name_offset)); | 2247 module_env->module->GetName(function.name_offset)); |
| 2255 } | 2248 } |
| 2256 | 2249 |
| 2257 return code; | 2250 return code; |
| 2258 } | 2251 } |
| 2259 | 2252 |
| 2260 | 2253 |
| 2261 } // namespace compiler | 2254 } // namespace compiler |
| 2262 } // namespace internal | 2255 } // namespace internal |
| 2263 } // namespace v8 | 2256 } // namespace v8 |
| OLD | NEW |