| 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 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 506 break; | 506 break; |
| 507 // kExprI64Xor: | 507 // kExprI64Xor: |
| 508 case wasm::kExprI64Xor: | 508 case wasm::kExprI64Xor: |
| 509 op = m->Word64Xor(); | 509 op = m->Word64Xor(); |
| 510 break; | 510 break; |
| 511 // kExprI64Shl: | 511 // kExprI64Shl: |
| 512 case wasm::kExprI64Shl: | 512 case wasm::kExprI64Shl: |
| 513 op = m->Word64Shl(); | 513 op = m->Word64Shl(); |
| 514 break; | 514 break; |
| 515 // kExprI64ShrU: | 515 // kExprI64ShrU: |
| 516 case wasm::kExprI64ShrU: |
| 517 op = m->Word64Shr(); |
| 518 break; |
| 516 // kExprI64ShrS: | 519 // kExprI64ShrS: |
| 520 case wasm::kExprI64ShrS: |
| 521 op = m->Word64Sar(); |
| 522 break; |
| 517 // kExprI64Eq: | 523 // kExprI64Eq: |
| 518 case wasm::kExprI64Eq: | 524 case wasm::kExprI64Eq: |
| 519 op = m->Word64Equal(); | 525 op = m->Word64Equal(); |
| 520 break; | 526 break; |
| 521 // kExprI64Ne: | 527 // kExprI64Ne: |
| 522 case wasm::kExprI64Ne: | 528 case wasm::kExprI64Ne: |
| 523 return Invert(Binop(wasm::kExprI64Eq, left, right)); | 529 return Invert(Binop(wasm::kExprI64Eq, left, right)); |
| 524 // kExprI64LtS: | 530 // kExprI64LtS: |
| 525 case wasm::kExprI64LtS: | 531 case wasm::kExprI64LtS: |
| 526 op = m->Int64LessThan(); | 532 op = m->Int64LessThan(); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 | 600 |
| 595 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); | 601 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); |
| 596 | 602 |
| 597 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), | 603 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), |
| 598 rem); | 604 rem); |
| 599 } | 605 } |
| 600 case wasm::kExprI64RemU: | 606 case wasm::kExprI64RemU: |
| 601 op = m->Uint64Mod(); | 607 op = m->Uint64Mod(); |
| 602 return graph()->NewNode(op, left, right, | 608 return graph()->NewNode(op, left, right, |
| 603 trap_->ZeroCheck64(kTrapRemByZero, right)); | 609 trap_->ZeroCheck64(kTrapRemByZero, right)); |
| 604 case wasm::kExprI64ShrU: | |
| 605 op = m->Word64Shr(); | |
| 606 break; | |
| 607 case wasm::kExprI64ShrS: | |
| 608 op = m->Word64Sar(); | |
| 609 break; | |
| 610 case wasm::kExprI64Ror: | 610 case wasm::kExprI64Ror: |
| 611 op = m->Word64Ror(); | 611 op = m->Word64Ror(); |
| 612 break; | 612 break; |
| 613 case wasm::kExprI64Rol: | 613 case wasm::kExprI64Rol: |
| 614 return BuildI64Rol(left, right); | 614 return BuildI64Rol(left, right); |
| 615 #endif | 615 #endif |
| 616 | 616 |
| 617 case wasm::kExprF32CopySign: | 617 case wasm::kExprF32CopySign: |
| 618 return BuildF32CopySign(left, right); | 618 return BuildF32CopySign(left, right); |
| 619 case wasm::kExprF64CopySign: | 619 case wasm::kExprF64CopySign: |
| (...skipping 1863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2483 module_env->module->GetName(function.name_offset)); | 2483 module_env->module->GetName(function.name_offset)); |
| 2484 } | 2484 } |
| 2485 | 2485 |
| 2486 return code; | 2486 return code; |
| 2487 } | 2487 } |
| 2488 | 2488 |
| 2489 | 2489 |
| 2490 } // namespace compiler | 2490 } // namespace compiler |
| 2491 } // namespace internal | 2491 } // namespace internal |
| 2492 } // namespace v8 | 2492 } // namespace v8 |
| OLD | NEW |