| 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 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 // kExprI64And: | 497 // kExprI64And: |
| 498 // kExprI64Ior: | 498 // kExprI64Ior: |
| 499 case wasm::kExprI64Ior: | 499 case wasm::kExprI64Ior: |
| 500 op = m->Word64Or(); | 500 op = m->Word64Or(); |
| 501 break; | 501 break; |
| 502 // kExprI64Xor: | 502 // kExprI64Xor: |
| 503 case wasm::kExprI64Xor: | 503 case wasm::kExprI64Xor: |
| 504 op = m->Word64Xor(); | 504 op = m->Word64Xor(); |
| 505 break; | 505 break; |
| 506 // kExprI64Shl: | 506 // kExprI64Shl: |
| 507 // kExprI64ShrU: | 507 case wasm::kExprI64Shl: |
| 508 // kExprI64ShrS: | 508 op = m->Word64Shl(); |
| 509 // kExprI64Eq: | 509 break; |
| 510 // kExprI64ShrU: |
| 511 // kExprI64ShrS: |
| 512 // kExprI64Eq: |
| 510 case wasm::kExprI64Eq: | 513 case wasm::kExprI64Eq: |
| 511 op = m->Word64Equal(); | 514 op = m->Word64Equal(); |
| 512 break; | 515 break; |
| 513 // kExprI64Ne: | 516 // kExprI64Ne: |
| 514 case wasm::kExprI64Ne: | 517 case wasm::kExprI64Ne: |
| 515 return Invert(Binop(wasm::kExprI64Eq, left, right)); | 518 return Invert(Binop(wasm::kExprI64Eq, left, right)); |
| 516 // kExprI64LtS: | 519 // kExprI64LtS: |
| 517 case wasm::kExprI64LtS: | 520 case wasm::kExprI64LtS: |
| 518 op = m->Int64LessThan(); | 521 op = m->Int64LessThan(); |
| 519 break; | 522 break; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 605 | 608 |
| 606 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); | 609 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); |
| 607 | 610 |
| 608 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), | 611 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), |
| 609 rem); | 612 rem); |
| 610 } | 613 } |
| 611 case wasm::kExprI64RemU: | 614 case wasm::kExprI64RemU: |
| 612 op = m->Uint64Mod(); | 615 op = m->Uint64Mod(); |
| 613 return graph()->NewNode(op, left, right, | 616 return graph()->NewNode(op, left, right, |
| 614 trap_->ZeroCheck64(kTrapRemByZero, right)); | 617 trap_->ZeroCheck64(kTrapRemByZero, right)); |
| 615 case wasm::kExprI64Shl: | |
| 616 op = m->Word64Shl(); | |
| 617 break; | |
| 618 case wasm::kExprI64ShrU: | 618 case wasm::kExprI64ShrU: |
| 619 op = m->Word64Shr(); | 619 op = m->Word64Shr(); |
| 620 break; | 620 break; |
| 621 case wasm::kExprI64ShrS: | 621 case wasm::kExprI64ShrS: |
| 622 op = m->Word64Sar(); | 622 op = m->Word64Sar(); |
| 623 break; | 623 break; |
| 624 #endif | 624 #endif |
| 625 | 625 |
| 626 case wasm::kExprF32CopySign: | 626 case wasm::kExprF32CopySign: |
| 627 return BuildF32CopySign(left, right); | 627 return BuildF32CopySign(left, right); |
| (...skipping 1635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2263 module_env->module->GetName(function.name_offset)); | 2263 module_env->module->GetName(function.name_offset)); |
| 2264 } | 2264 } |
| 2265 | 2265 |
| 2266 return code; | 2266 return code; |
| 2267 } | 2267 } |
| 2268 | 2268 |
| 2269 | 2269 |
| 2270 } // namespace compiler | 2270 } // namespace compiler |
| 2271 } // namespace internal | 2271 } // namespace internal |
| 2272 } // namespace v8 | 2272 } // namespace v8 |
| OLD | NEW |