| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 V(CallKnownGlobal) \ | 65 V(CallKnownGlobal) \ |
| 66 V(CallNamed) \ | 66 V(CallNamed) \ |
| 67 V(CallNew) \ | 67 V(CallNew) \ |
| 68 V(CallRuntime) \ | 68 V(CallRuntime) \ |
| 69 V(CallStub) \ | 69 V(CallStub) \ |
| 70 V(CheckFunction) \ | 70 V(CheckFunction) \ |
| 71 V(CheckInstanceType) \ | 71 V(CheckInstanceType) \ |
| 72 V(CheckMap) \ | 72 V(CheckMap) \ |
| 73 V(CheckPrototypeMaps) \ | 73 V(CheckPrototypeMaps) \ |
| 74 V(CheckSmi) \ | 74 V(CheckSmi) \ |
| 75 V(ClassOfTest) \ |
| 76 V(ClassOfTestAndBranch) \ |
| 75 V(CmpID) \ | 77 V(CmpID) \ |
| 76 V(CmpIDAndBranch) \ | 78 V(CmpIDAndBranch) \ |
| 77 V(CmpJSObjectEq) \ | 79 V(CmpJSObjectEq) \ |
| 78 V(CmpJSObjectEqAndBranch) \ | 80 V(CmpJSObjectEqAndBranch) \ |
| 79 V(CmpMapAndBranch) \ | 81 V(CmpMapAndBranch) \ |
| 80 V(CmpT) \ | 82 V(CmpT) \ |
| 81 V(CmpTAndBranch) \ | 83 V(CmpTAndBranch) \ |
| 82 V(ConstantD) \ | 84 V(ConstantD) \ |
| 83 V(ConstantI) \ | 85 V(ConstantI) \ |
| 84 V(ConstantT) \ | 86 V(ConstantT) \ |
| 85 V(Context) \ | 87 V(Context) \ |
| 86 V(DeleteProperty) \ | 88 V(DeleteProperty) \ |
| 87 V(Deoptimize) \ | 89 V(Deoptimize) \ |
| 88 V(DivI) \ | 90 V(DivI) \ |
| 89 V(DoubleToI) \ | 91 V(DoubleToI) \ |
| 92 V(ExternalArrayLength) \ |
| 93 V(FixedArrayLength) \ |
| 90 V(FunctionLiteral) \ | 94 V(FunctionLiteral) \ |
| 91 V(Gap) \ | 95 V(Gap) \ |
| 92 V(GetCachedArrayIndex) \ | 96 V(GetCachedArrayIndex) \ |
| 93 V(GlobalObject) \ | 97 V(GlobalObject) \ |
| 94 V(GlobalReceiver) \ | 98 V(GlobalReceiver) \ |
| 95 V(Goto) \ | 99 V(Goto) \ |
| 96 V(FixedArrayLength) \ | 100 V(HasInstanceType) \ |
| 101 V(HasInstanceTypeAndBranch) \ |
| 102 V(HasCachedArrayIndex) \ |
| 103 V(HasCachedArrayIndexAndBranch) \ |
| 97 V(InstanceOf) \ | 104 V(InstanceOf) \ |
| 98 V(InstanceOfAndBranch) \ | 105 V(InstanceOfAndBranch) \ |
| 99 V(InstanceOfKnownGlobal) \ | 106 V(InstanceOfKnownGlobal) \ |
| 100 V(Integer32ToDouble) \ | 107 V(Integer32ToDouble) \ |
| 101 V(IsNull) \ | 108 V(IsNull) \ |
| 102 V(IsNullAndBranch) \ | 109 V(IsNullAndBranch) \ |
| 103 V(IsObject) \ | 110 V(IsObject) \ |
| 104 V(IsObjectAndBranch) \ | 111 V(IsObjectAndBranch) \ |
| 105 V(IsSmi) \ | 112 V(IsSmi) \ |
| 106 V(IsSmiAndBranch) \ | 113 V(IsSmiAndBranch) \ |
| 107 V(JSArrayLength) \ | 114 V(JSArrayLength) \ |
| 108 V(HasInstanceType) \ | |
| 109 V(HasInstanceTypeAndBranch) \ | |
| 110 V(HasCachedArrayIndex) \ | |
| 111 V(HasCachedArrayIndexAndBranch) \ | |
| 112 V(ClassOfTest) \ | |
| 113 V(ClassOfTestAndBranch) \ | |
| 114 V(Label) \ | 115 V(Label) \ |
| 115 V(LazyBailout) \ | 116 V(LazyBailout) \ |
| 116 V(LoadContextSlot) \ | 117 V(LoadContextSlot) \ |
| 117 V(LoadElements) \ | 118 V(LoadElements) \ |
| 119 V(LoadExternalArrayPointer) \ |
| 118 V(LoadGlobal) \ | 120 V(LoadGlobal) \ |
| 119 V(LoadKeyedFastElement) \ | 121 V(LoadKeyedFastElement) \ |
| 120 V(LoadKeyedGeneric) \ | 122 V(LoadKeyedGeneric) \ |
| 121 V(LoadNamedField) \ | 123 V(LoadNamedField) \ |
| 122 V(LoadNamedGeneric) \ | 124 V(LoadNamedGeneric) \ |
| 123 V(LoadFunctionPrototype) \ | 125 V(LoadFunctionPrototype) \ |
| 124 V(LoadPixelArrayElement) \ | 126 V(LoadPixelArrayElement) \ |
| 125 V(LoadPixelArrayExternalPointer) \ | |
| 126 V(ModI) \ | 127 V(ModI) \ |
| 127 V(MulI) \ | 128 V(MulI) \ |
| 128 V(NumberTagD) \ | 129 V(NumberTagD) \ |
| 129 V(NumberTagI) \ | 130 V(NumberTagI) \ |
| 130 V(NumberUntagD) \ | 131 V(NumberUntagD) \ |
| 131 V(ObjectLiteral) \ | 132 V(ObjectLiteral) \ |
| 132 V(OsrEntry) \ | 133 V(OsrEntry) \ |
| 133 V(OuterContext) \ | 134 V(OuterContext) \ |
| 134 V(Parameter) \ | 135 V(Parameter) \ |
| 135 V(PixelArrayLength) \ | |
| 136 V(Power) \ | 136 V(Power) \ |
| 137 V(PushArgument) \ | 137 V(PushArgument) \ |
| 138 V(RegExpLiteral) \ | 138 V(RegExpLiteral) \ |
| 139 V(Return) \ | 139 V(Return) \ |
| 140 V(ShiftI) \ | 140 V(ShiftI) \ |
| 141 V(SmiTag) \ | 141 V(SmiTag) \ |
| 142 V(SmiUntag) \ | 142 V(SmiUntag) \ |
| 143 V(StackCheck) \ | 143 V(StackCheck) \ |
| 144 V(StoreContextSlot) \ | 144 V(StoreContextSlot) \ |
| 145 V(StoreGlobal) \ | 145 V(StoreGlobal) \ |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 public: | 837 public: |
| 838 LInstanceOfAndBranch(LOperand* left, LOperand* right) { | 838 LInstanceOfAndBranch(LOperand* left, LOperand* right) { |
| 839 inputs_[0] = left; | 839 inputs_[0] = left; |
| 840 inputs_[1] = right; | 840 inputs_[1] = right; |
| 841 } | 841 } |
| 842 | 842 |
| 843 DECLARE_CONCRETE_INSTRUCTION(InstanceOfAndBranch, "instance-of-and-branch") | 843 DECLARE_CONCRETE_INSTRUCTION(InstanceOfAndBranch, "instance-of-and-branch") |
| 844 }; | 844 }; |
| 845 | 845 |
| 846 | 846 |
| 847 class LInstanceOfKnownGlobal: public LTemplateInstruction<1, 1, 0> { | 847 class LInstanceOfKnownGlobal: public LTemplateInstruction<1, 1, 1> { |
| 848 public: | 848 public: |
| 849 explicit LInstanceOfKnownGlobal(LOperand* value) { | 849 LInstanceOfKnownGlobal(LOperand* value, LOperand* temp) { |
| 850 inputs_[0] = value; | 850 inputs_[0] = value; |
| 851 temps_[0] = temp; |
| 851 } | 852 } |
| 852 | 853 |
| 853 DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal, | 854 DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal, |
| 854 "instance-of-known-global") | 855 "instance-of-known-global") |
| 855 DECLARE_HYDROGEN_ACCESSOR(InstanceOfKnownGlobal) | 856 DECLARE_HYDROGEN_ACCESSOR(InstanceOfKnownGlobal) |
| 856 | 857 |
| 857 Handle<JSFunction> function() const { return hydrogen()->function(); } | 858 Handle<JSFunction> function() const { return hydrogen()->function(); } |
| 858 }; | 859 }; |
| 859 | 860 |
| 860 | 861 |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 989 public: | 990 public: |
| 990 explicit LJSArrayLength(LOperand* value) { | 991 explicit LJSArrayLength(LOperand* value) { |
| 991 inputs_[0] = value; | 992 inputs_[0] = value; |
| 992 } | 993 } |
| 993 | 994 |
| 994 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") | 995 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") |
| 995 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) | 996 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) |
| 996 }; | 997 }; |
| 997 | 998 |
| 998 | 999 |
| 999 class LPixelArrayLength: public LTemplateInstruction<1, 1, 0> { | 1000 class LExternalArrayLength: public LTemplateInstruction<1, 1, 0> { |
| 1000 public: | 1001 public: |
| 1001 explicit LPixelArrayLength(LOperand* value) { | 1002 explicit LExternalArrayLength(LOperand* value) { |
| 1002 inputs_[0] = value; | 1003 inputs_[0] = value; |
| 1003 } | 1004 } |
| 1004 | 1005 |
| 1005 DECLARE_CONCRETE_INSTRUCTION(PixelArrayLength, "pixel-array-length") | 1006 DECLARE_CONCRETE_INSTRUCTION(ExternalArrayLength, "external-array-length") |
| 1006 DECLARE_HYDROGEN_ACCESSOR(PixelArrayLength) | 1007 DECLARE_HYDROGEN_ACCESSOR(ExternalArrayLength) |
| 1007 }; | 1008 }; |
| 1008 | 1009 |
| 1009 | 1010 |
| 1010 class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> { | 1011 class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> { |
| 1011 public: | 1012 public: |
| 1012 explicit LFixedArrayLength(LOperand* value) { | 1013 explicit LFixedArrayLength(LOperand* value) { |
| 1013 inputs_[0] = value; | 1014 inputs_[0] = value; |
| 1014 } | 1015 } |
| 1015 | 1016 |
| 1016 DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength, "fixed-array-length") | 1017 DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength, "fixed-array-length") |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1160 class LLoadElements: public LTemplateInstruction<1, 1, 0> { | 1161 class LLoadElements: public LTemplateInstruction<1, 1, 0> { |
| 1161 public: | 1162 public: |
| 1162 explicit LLoadElements(LOperand* object) { | 1163 explicit LLoadElements(LOperand* object) { |
| 1163 inputs_[0] = object; | 1164 inputs_[0] = object; |
| 1164 } | 1165 } |
| 1165 | 1166 |
| 1166 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") | 1167 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") |
| 1167 }; | 1168 }; |
| 1168 | 1169 |
| 1169 | 1170 |
| 1170 class LLoadPixelArrayExternalPointer: public LTemplateInstruction<1, 1, 0> { | 1171 class LLoadExternalArrayPointer: public LTemplateInstruction<1, 1, 0> { |
| 1171 public: | 1172 public: |
| 1172 explicit LLoadPixelArrayExternalPointer(LOperand* object) { | 1173 explicit LLoadExternalArrayPointer(LOperand* object) { |
| 1173 inputs_[0] = object; | 1174 inputs_[0] = object; |
| 1174 } | 1175 } |
| 1175 | 1176 |
| 1176 DECLARE_CONCRETE_INSTRUCTION(LoadPixelArrayExternalPointer, | 1177 DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer, |
| 1177 "load-pixel-array-external-pointer") | 1178 "load-external-array-pointer") |
| 1178 }; | 1179 }; |
| 1179 | 1180 |
| 1180 | 1181 |
| 1181 class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { | 1182 class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { |
| 1182 public: | 1183 public: |
| 1183 LLoadKeyedFastElement(LOperand* elements, LOperand* key) { | 1184 LLoadKeyedFastElement(LOperand* elements, LOperand* key) { |
| 1184 inputs_[0] = elements; | 1185 inputs_[0] = elements; |
| 1185 inputs_[1] = key; | 1186 inputs_[1] = key; |
| 1186 } | 1187 } |
| 1187 | 1188 |
| (...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2062 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2063 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2063 }; | 2064 }; |
| 2064 | 2065 |
| 2065 #undef DECLARE_HYDROGEN_ACCESSOR | 2066 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2066 #undef DECLARE_INSTRUCTION | 2067 #undef DECLARE_INSTRUCTION |
| 2067 #undef DECLARE_CONCRETE_INSTRUCTION | 2068 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2068 | 2069 |
| 2069 } } // namespace v8::int | 2070 } } // namespace v8::int |
| 2070 | 2071 |
| 2071 #endif // V8_X64_LITHIUM_X64_H_ | 2072 #endif // V8_X64_LITHIUM_X64_H_ |
| OLD | NEW |