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 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 // kExprI64And: | 502 // kExprI64And: |
503 // kExprI64Ior: | 503 // kExprI64Ior: |
504 case wasm::kExprI64Ior: | 504 case wasm::kExprI64Ior: |
505 op = m->Word64Or(); | 505 op = m->Word64Or(); |
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 // kExprI64ShrU: | 512 case wasm::kExprI64Shl: |
513 // kExprI64ShrS: | 513 op = m->Word64Shl(); |
514 // kExprI64Eq: | 514 break; |
| 515 // kExprI64ShrU: |
| 516 // kExprI64ShrS: |
| 517 // kExprI64Eq: |
515 case wasm::kExprI64Eq: | 518 case wasm::kExprI64Eq: |
516 op = m->Word64Equal(); | 519 op = m->Word64Equal(); |
517 break; | 520 break; |
518 // kExprI64Ne: | 521 // kExprI64Ne: |
519 case wasm::kExprI64Ne: | 522 case wasm::kExprI64Ne: |
520 return Invert(Binop(wasm::kExprI64Eq, left, right)); | 523 return Invert(Binop(wasm::kExprI64Eq, left, right)); |
521 // kExprI64LtS: | 524 // kExprI64LtS: |
522 case wasm::kExprI64LtS: | 525 case wasm::kExprI64LtS: |
523 op = m->Int64LessThan(); | 526 op = m->Int64LessThan(); |
524 break; | 527 break; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 | 594 |
592 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); | 595 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); |
593 | 596 |
594 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), | 597 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), |
595 rem); | 598 rem); |
596 } | 599 } |
597 case wasm::kExprI64RemU: | 600 case wasm::kExprI64RemU: |
598 op = m->Uint64Mod(); | 601 op = m->Uint64Mod(); |
599 return graph()->NewNode(op, left, right, | 602 return graph()->NewNode(op, left, right, |
600 trap_->ZeroCheck64(kTrapRemByZero, right)); | 603 trap_->ZeroCheck64(kTrapRemByZero, right)); |
601 case wasm::kExprI64Shl: | |
602 op = m->Word64Shl(); | |
603 break; | |
604 case wasm::kExprI64ShrU: | 604 case wasm::kExprI64ShrU: |
605 op = m->Word64Shr(); | 605 op = m->Word64Shr(); |
606 break; | 606 break; |
607 case wasm::kExprI64ShrS: | 607 case wasm::kExprI64ShrS: |
608 op = m->Word64Sar(); | 608 op = m->Word64Sar(); |
609 break; | 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: |
(...skipping 1869 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 |