OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 V(HasInstanceTypeAndBranch) \ | 107 V(HasInstanceTypeAndBranch) \ |
108 V(In) \ | 108 V(In) \ |
109 V(InstanceOf) \ | 109 V(InstanceOf) \ |
110 V(InstanceOfKnownGlobal) \ | 110 V(InstanceOfKnownGlobal) \ |
111 V(InstanceSize) \ | 111 V(InstanceSize) \ |
112 V(InstructionGap) \ | 112 V(InstructionGap) \ |
113 V(Integer32ToDouble) \ | 113 V(Integer32ToDouble) \ |
114 V(Uint32ToDouble) \ | 114 V(Uint32ToDouble) \ |
115 V(InvokeFunction) \ | 115 V(InvokeFunction) \ |
116 V(IsConstructCallAndBranch) \ | 116 V(IsConstructCallAndBranch) \ |
117 V(IsNilAndBranch) \ | |
118 V(IsObjectAndBranch) \ | 117 V(IsObjectAndBranch) \ |
119 V(IsStringAndBranch) \ | 118 V(IsStringAndBranch) \ |
120 V(IsSmiAndBranch) \ | 119 V(IsSmiAndBranch) \ |
121 V(IsUndetectableAndBranch) \ | 120 V(IsUndetectableAndBranch) \ |
122 V(Label) \ | 121 V(Label) \ |
123 V(LazyBailout) \ | 122 V(LazyBailout) \ |
124 V(LoadContextSlot) \ | 123 V(LoadContextSlot) \ |
125 V(LoadExternalArrayPointer) \ | 124 V(LoadExternalArrayPointer) \ |
126 V(LoadFunctionPrototype) \ | 125 V(LoadFunctionPrototype) \ |
127 V(LoadGlobalCell) \ | 126 V(LoadGlobalCell) \ |
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 } | 814 } |
816 | 815 |
817 LOperand* left() { return inputs_[0]; } | 816 LOperand* left() { return inputs_[0]; } |
818 | 817 |
819 DECLARE_CONCRETE_INSTRUCTION(CmpConstantEqAndBranch, | 818 DECLARE_CONCRETE_INSTRUCTION(CmpConstantEqAndBranch, |
820 "cmp-constant-eq-and-branch") | 819 "cmp-constant-eq-and-branch") |
821 DECLARE_HYDROGEN_ACCESSOR(CompareConstantEqAndBranch) | 820 DECLARE_HYDROGEN_ACCESSOR(CompareConstantEqAndBranch) |
822 }; | 821 }; |
823 | 822 |
824 | 823 |
825 class LIsNilAndBranch: public LControlInstruction<1, 1> { | |
826 public: | |
827 LIsNilAndBranch(LOperand* value, LOperand* temp) { | |
828 inputs_[0] = value; | |
829 temps_[0] = temp; | |
830 } | |
831 | |
832 LOperand* value() { return inputs_[0]; } | |
833 LOperand* temp() { return temps_[0]; } | |
834 | |
835 DECLARE_CONCRETE_INSTRUCTION(IsNilAndBranch, "is-nil-and-branch") | |
836 DECLARE_HYDROGEN_ACCESSOR(IsNilAndBranch) | |
837 | |
838 EqualityKind kind() const { return hydrogen()->kind(); } | |
839 NilValue nil() const { return hydrogen()->nil(); } | |
840 | |
841 virtual void PrintDataTo(StringStream* stream); | |
842 }; | |
843 | |
844 | |
845 class LIsObjectAndBranch: public LControlInstruction<1, 0> { | 824 class LIsObjectAndBranch: public LControlInstruction<1, 0> { |
846 public: | 825 public: |
847 explicit LIsObjectAndBranch(LOperand* value) { | 826 explicit LIsObjectAndBranch(LOperand* value) { |
848 inputs_[0] = value; | 827 inputs_[0] = value; |
849 } | 828 } |
850 | 829 |
851 LOperand* value() { return inputs_[0]; } | 830 LOperand* value() { return inputs_[0]; } |
852 | 831 |
853 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch") | 832 DECLARE_CONCRETE_INSTRUCTION(IsObjectAndBranch, "is-object-and-branch") |
854 DECLARE_HYDROGEN_ACCESSOR(IsObjectAndBranch) | 833 DECLARE_HYDROGEN_ACCESSOR(IsObjectAndBranch) |
(...skipping 1873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2728 | 2707 |
2729 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2708 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2730 }; | 2709 }; |
2731 | 2710 |
2732 #undef DECLARE_HYDROGEN_ACCESSOR | 2711 #undef DECLARE_HYDROGEN_ACCESSOR |
2733 #undef DECLARE_CONCRETE_INSTRUCTION | 2712 #undef DECLARE_CONCRETE_INSTRUCTION |
2734 | 2713 |
2735 } } // namespace v8::int | 2714 } } // namespace v8::int |
2736 | 2715 |
2737 #endif // V8_X64_LITHIUM_X64_H_ | 2716 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |