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 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 // kExprI64DivS: | 493 // kExprI64DivS: |
494 // kExprI64DivU: | 494 // kExprI64DivU: |
495 // kExprI64RemS: | 495 // kExprI64RemS: |
496 // kExprI64RemU: | 496 // kExprI64RemU: |
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: |
| 504 op = m->Word64Xor(); |
| 505 break; |
503 // kExprI64Shl: | 506 // kExprI64Shl: |
504 // kExprI64ShrU: | 507 // kExprI64ShrU: |
505 // kExprI64ShrS: | 508 // kExprI64ShrS: |
506 // kExprI64Eq: | 509 // kExprI64Eq: |
507 // kExprI64Ne: | 510 // kExprI64Ne: |
508 // kExprI64LtS: | 511 // kExprI64LtS: |
509 // kExprI64LeS: | 512 // kExprI64LeS: |
510 // kExprI64LtU: | 513 // kExprI64LtU: |
511 // kExprI64LeU: | 514 // kExprI64LeU: |
512 // kExprI64GtS: | 515 // kExprI64GtS: |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 | 579 |
577 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); | 580 Node* rem = graph()->NewNode(m->Int64Mod(), left, right, d.if_false); |
578 | 581 |
579 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), | 582 return d.Phi(MachineRepresentation::kWord64, jsgraph()->Int64Constant(0), |
580 rem); | 583 rem); |
581 } | 584 } |
582 case wasm::kExprI64RemU: | 585 case wasm::kExprI64RemU: |
583 op = m->Uint64Mod(); | 586 op = m->Uint64Mod(); |
584 return graph()->NewNode(op, left, right, | 587 return graph()->NewNode(op, left, right, |
585 trap_->ZeroCheck64(kTrapRemByZero, right)); | 588 trap_->ZeroCheck64(kTrapRemByZero, right)); |
586 case wasm::kExprI64Xor: | |
587 op = m->Word64Xor(); | |
588 break; | |
589 case wasm::kExprI64Shl: | 589 case wasm::kExprI64Shl: |
590 op = m->Word64Shl(); | 590 op = m->Word64Shl(); |
591 break; | 591 break; |
592 case wasm::kExprI64ShrU: | 592 case wasm::kExprI64ShrU: |
593 op = m->Word64Shr(); | 593 op = m->Word64Shr(); |
594 break; | 594 break; |
595 case wasm::kExprI64ShrS: | 595 case wasm::kExprI64ShrS: |
596 op = m->Word64Sar(); | 596 op = m->Word64Sar(); |
597 break; | 597 break; |
598 case wasm::kExprI64Eq: | 598 case wasm::kExprI64Eq: |
(...skipping 1655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2254 module_env->module->GetName(function.name_offset)); | 2254 module_env->module->GetName(function.name_offset)); |
2255 } | 2255 } |
2256 | 2256 |
2257 return code; | 2257 return code; |
2258 } | 2258 } |
2259 | 2259 |
2260 | 2260 |
2261 } // namespace compiler | 2261 } // namespace compiler |
2262 } // namespace internal | 2262 } // namespace internal |
2263 } // namespace v8 | 2263 } // namespace v8 |
OLD | NEW |