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/elapsed-timer.h" | 9 #include "src/base/platform/elapsed-timer.h" |
10 #include "src/base/platform/platform.h" | 10 #include "src/base/platform/platform.h" |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 // easier when I do them one by one. | 493 // easier when I do them one by one. |
494 // kExprI64Add: | 494 // kExprI64Add: |
495 case wasm::kExprI64Add: | 495 case wasm::kExprI64Add: |
496 op = m->Int64Add(); | 496 op = m->Int64Add(); |
497 break; | 497 break; |
498 // kExprI64Sub: | 498 // kExprI64Sub: |
499 case wasm::kExprI64Sub: | 499 case wasm::kExprI64Sub: |
500 op = m->Int64Sub(); | 500 op = m->Int64Sub(); |
501 break; | 501 break; |
502 // kExprI64Mul: | 502 // kExprI64Mul: |
| 503 case wasm::kExprI64Mul: |
| 504 op = m->Int64Mul(); |
| 505 break; |
503 // kExprI64DivS: | 506 // kExprI64DivS: |
504 case wasm::kExprI64DivS: | 507 case wasm::kExprI64DivS: |
505 return BuildI64DivS(left, right); | 508 return BuildI64DivS(left, right); |
506 // kExprI64DivU: | 509 // kExprI64DivU: |
507 case wasm::kExprI64DivU: | 510 case wasm::kExprI64DivU: |
508 return BuildI64DivU(left, right); | 511 return BuildI64DivU(left, right); |
509 // kExprI64RemS: | 512 // kExprI64RemS: |
510 case wasm::kExprI64RemS: | 513 case wasm::kExprI64RemS: |
511 return BuildI64RemS(left, right); | 514 return BuildI64RemS(left, right); |
512 // kExprI64RemU: | 515 // kExprI64RemU: |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 std::swap(left, right); | 567 std::swap(left, right); |
565 break; | 568 break; |
566 case wasm::kExprI64GeU: | 569 case wasm::kExprI64GeU: |
567 op = m->Uint64LessThanOrEqual(); | 570 op = m->Uint64LessThanOrEqual(); |
568 std::swap(left, right); | 571 std::swap(left, right); |
569 break; | 572 break; |
570 | 573 |
571 #if WASM_64 | 574 #if WASM_64 |
572 // Opcodes only supported on 64-bit platforms. | 575 // Opcodes only supported on 64-bit platforms. |
573 // TODO(titzer): query the machine operator builder here instead of #ifdef. | 576 // TODO(titzer): query the machine operator builder here instead of #ifdef. |
574 case wasm::kExprI64Mul: | |
575 op = m->Int64Mul(); | |
576 break; | |
577 case wasm::kExprI64Ror: | 577 case wasm::kExprI64Ror: |
578 op = m->Word64Ror(); | 578 op = m->Word64Ror(); |
579 break; | 579 break; |
580 case wasm::kExprI64Rol: | 580 case wasm::kExprI64Rol: |
581 return BuildI64Rol(left, right); | 581 return BuildI64Rol(left, right); |
582 #endif | 582 #endif |
583 | 583 |
584 case wasm::kExprF32CopySign: | 584 case wasm::kExprF32CopySign: |
585 return BuildF32CopySign(left, right); | 585 return BuildF32CopySign(left, right); |
586 case wasm::kExprF64CopySign: | 586 case wasm::kExprF64CopySign: |
(...skipping 2079 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2666 static_cast<int>(function.code_end_offset - function.code_start_offset), | 2666 static_cast<int>(function.code_end_offset - function.code_start_offset), |
2667 decode_ms, static_cast<int>(graph.NodeCount()), compile_ms); | 2667 decode_ms, static_cast<int>(graph.NodeCount()), compile_ms); |
2668 } | 2668 } |
2669 return code; | 2669 return code; |
2670 } | 2670 } |
2671 | 2671 |
2672 | 2672 |
2673 } // namespace compiler | 2673 } // namespace compiler |
2674 } // namespace internal | 2674 } // namespace internal |
2675 } // namespace v8 | 2675 } // namespace v8 |
OLD | NEW |