OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/il_printer.h" | 5 #include "vm/il_printer.h" |
6 | 6 |
7 #include "vm/intermediate_language.h" | 7 #include "vm/intermediate_language.h" |
8 #include "vm/os.h" | 8 #include "vm/os.h" |
9 #include "vm/parser.h" | 9 #include "vm/parser.h" |
10 | 10 |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 | 586 |
587 | 587 |
588 void BinaryFloat32x4OpInstr::PrintOperandsTo(BufferFormatter* f) const { | 588 void BinaryFloat32x4OpInstr::PrintOperandsTo(BufferFormatter* f) const { |
589 f->Print("%s, ", Token::Str(op_kind())); | 589 f->Print("%s, ", Token::Str(op_kind())); |
590 left()->PrintTo(f); | 590 left()->PrintTo(f); |
591 f->Print(", "); | 591 f->Print(", "); |
592 right()->PrintTo(f); | 592 right()->PrintTo(f); |
593 } | 593 } |
594 | 594 |
595 | 595 |
| 596 void BinaryFloat64x2OpInstr::PrintOperandsTo(BufferFormatter* f) const { |
| 597 f->Print("%s, ", Token::Str(op_kind())); |
| 598 left()->PrintTo(f); |
| 599 f->Print(", "); |
| 600 right()->PrintTo(f); |
| 601 } |
| 602 |
| 603 |
596 void Simd32x4ShuffleInstr::PrintOperandsTo(BufferFormatter* f) const { | 604 void Simd32x4ShuffleInstr::PrintOperandsTo(BufferFormatter* f) const { |
597 // TODO(johnmccutchan): Add proper string enumeration of shuffle. | 605 // TODO(johnmccutchan): Add proper string enumeration of shuffle. |
598 f->Print("%s, ", MethodRecognizer::KindToCString(op_kind())); | 606 f->Print("%s, ", MethodRecognizer::KindToCString(op_kind())); |
599 value()->PrintTo(f); | 607 value()->PrintTo(f); |
600 } | 608 } |
601 | 609 |
| 610 |
602 void Simd32x4ShuffleMixInstr::PrintOperandsTo(BufferFormatter* f) const { | 611 void Simd32x4ShuffleMixInstr::PrintOperandsTo(BufferFormatter* f) const { |
603 f->Print("%s, ", MethodRecognizer::KindToCString(op_kind())); | 612 f->Print("%s, ", MethodRecognizer::KindToCString(op_kind())); |
604 xy()->PrintTo(f); | 613 xy()->PrintTo(f); |
605 f->Print(", "); | 614 f->Print(", "); |
606 zw()->PrintTo(f); | 615 zw()->PrintTo(f); |
607 } | 616 } |
608 | 617 |
609 | 618 |
610 void Simd32x4GetSignMaskInstr::PrintOperandsTo(BufferFormatter* f) const { | 619 void Simd32x4GetSignMaskInstr::PrintOperandsTo(BufferFormatter* f) const { |
611 if (op_kind() == MethodRecognizer::kFloat32x4GetSignMask) { | 620 if (op_kind() == MethodRecognizer::kFloat32x4GetSignMask) { |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 replacement()->PrintTo(f); | 701 replacement()->PrintTo(f); |
693 } | 702 } |
694 | 703 |
695 | 704 |
696 void Float32x4ToInt32x4Instr::PrintOperandsTo(BufferFormatter* f) const { | 705 void Float32x4ToInt32x4Instr::PrintOperandsTo(BufferFormatter* f) const { |
697 f->Print("Float32x4.toInt32x4 "); | 706 f->Print("Float32x4.toInt32x4 "); |
698 left()->PrintTo(f); | 707 left()->PrintTo(f); |
699 } | 708 } |
700 | 709 |
701 | 710 |
| 711 void Simd64x2ShuffleInstr::PrintOperandsTo(BufferFormatter* f) const { |
| 712 // TODO(johnmccutchan): Add proper string enumeration of shuffle. |
| 713 f->Print("%s, ", MethodRecognizer::KindToCString(op_kind())); |
| 714 value()->PrintTo(f); |
| 715 } |
702 | 716 |
703 | 717 |
| 718 void Float64x2ZeroInstr::PrintOperandsTo(BufferFormatter* f) const { |
| 719 f->Print("Float64x2.zero "); |
| 720 } |
| 721 |
| 722 |
| 723 void Float64x2SplatInstr::PrintOperandsTo(BufferFormatter* f) const { |
| 724 f->Print("Float64x2.splat "); |
| 725 value()->PrintTo(f); |
| 726 } |
| 727 |
| 728 |
| 729 void Float64x2ConstructorInstr::PrintOperandsTo(BufferFormatter* f) const { |
| 730 f->Print("Float64x2("); |
| 731 value0()->PrintTo(f); |
| 732 f->Print(", "); |
| 733 value1()->PrintTo(f); |
| 734 f->Print(")"); |
| 735 } |
| 736 |
| 737 |
| 738 void Float32x4ToFloat64x2Instr::PrintOperandsTo(BufferFormatter* f) const { |
| 739 f->Print("Float64x2.fromFloat32x4 "); |
| 740 left()->PrintTo(f); |
| 741 } |
| 742 |
| 743 |
| 744 void Float64x2ToFloat32x4Instr::PrintOperandsTo(BufferFormatter* f) const { |
| 745 f->Print("Float32x4.fromFloat64x2 "); |
| 746 left()->PrintTo(f); |
| 747 } |
| 748 |
704 | 749 |
705 void Int32x4BoolConstructorInstr::PrintOperandsTo(BufferFormatter* f) const { | 750 void Int32x4BoolConstructorInstr::PrintOperandsTo(BufferFormatter* f) const { |
706 f->Print("Int32x4.bool("); | 751 f->Print("Int32x4.bool("); |
707 value0()->PrintTo(f); | 752 value0()->PrintTo(f); |
708 f->Print(", "); | 753 f->Print(", "); |
709 value1()->PrintTo(f); | 754 value1()->PrintTo(f); |
710 f->Print(", "); | 755 f->Print(", "); |
711 value2()->PrintTo(f); | 756 value2()->PrintTo(f); |
712 f->Print(", "); | 757 f->Print(", "); |
713 value3()->PrintTo(f); | 758 value3()->PrintTo(f); |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
967 f->Print(" ["); | 1012 f->Print(" ["); |
968 locations_[i].PrintTo(f); | 1013 locations_[i].PrintTo(f); |
969 f->Print("]"); | 1014 f->Print("]"); |
970 } | 1015 } |
971 } | 1016 } |
972 f->Print(" }"); | 1017 f->Print(" }"); |
973 if (outer_ != NULL) outer_->PrintTo(f); | 1018 if (outer_ != NULL) outer_->PrintTo(f); |
974 } | 1019 } |
975 | 1020 |
976 } // namespace dart | 1021 } // namespace dart |
OLD | NEW |