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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 V(CmpT) \ | 84 V(CmpT) \ |
85 V(CmpTAndBranch) \ | 85 V(CmpTAndBranch) \ |
86 V(ConstantD) \ | 86 V(ConstantD) \ |
87 V(ConstantI) \ | 87 V(ConstantI) \ |
88 V(ConstantT) \ | 88 V(ConstantT) \ |
89 V(Context) \ | 89 V(Context) \ |
90 V(DeleteProperty) \ | 90 V(DeleteProperty) \ |
91 V(Deoptimize) \ | 91 V(Deoptimize) \ |
92 V(DivI) \ | 92 V(DivI) \ |
93 V(DoubleToI) \ | 93 V(DoubleToI) \ |
| 94 V(ExternalArrayLength) \ |
94 V(FixedArrayLength) \ | 95 V(FixedArrayLength) \ |
95 V(FunctionLiteral) \ | 96 V(FunctionLiteral) \ |
96 V(Gap) \ | 97 V(Gap) \ |
97 V(GetCachedArrayIndex) \ | 98 V(GetCachedArrayIndex) \ |
98 V(GlobalObject) \ | 99 V(GlobalObject) \ |
99 V(GlobalReceiver) \ | 100 V(GlobalReceiver) \ |
100 V(Goto) \ | 101 V(Goto) \ |
101 V(HasCachedArrayIndex) \ | 102 V(HasCachedArrayIndex) \ |
102 V(HasCachedArrayIndexAndBranch) \ | 103 V(HasCachedArrayIndexAndBranch) \ |
103 V(HasInstanceType) \ | 104 V(HasInstanceType) \ |
104 V(HasInstanceTypeAndBranch) \ | 105 V(HasInstanceTypeAndBranch) \ |
105 V(InstanceOf) \ | 106 V(InstanceOf) \ |
106 V(InstanceOfAndBranch) \ | 107 V(InstanceOfAndBranch) \ |
107 V(InstanceOfKnownGlobal) \ | 108 V(InstanceOfKnownGlobal) \ |
108 V(Integer32ToDouble) \ | 109 V(Integer32ToDouble) \ |
109 V(IsNull) \ | 110 V(IsNull) \ |
110 V(IsNullAndBranch) \ | 111 V(IsNullAndBranch) \ |
111 V(IsObject) \ | 112 V(IsObject) \ |
112 V(IsObjectAndBranch) \ | 113 V(IsObjectAndBranch) \ |
113 V(IsSmi) \ | 114 V(IsSmi) \ |
114 V(IsSmiAndBranch) \ | 115 V(IsSmiAndBranch) \ |
115 V(JSArrayLength) \ | 116 V(JSArrayLength) \ |
116 V(Label) \ | 117 V(Label) \ |
117 V(LazyBailout) \ | 118 V(LazyBailout) \ |
118 V(LoadContextSlot) \ | 119 V(LoadContextSlot) \ |
119 V(LoadElements) \ | 120 V(LoadElements) \ |
| 121 V(LoadExternalArrayPointer) \ |
120 V(LoadFunctionPrototype) \ | 122 V(LoadFunctionPrototype) \ |
121 V(LoadGlobal) \ | 123 V(LoadGlobal) \ |
122 V(LoadKeyedFastElement) \ | 124 V(LoadKeyedFastElement) \ |
123 V(LoadKeyedGeneric) \ | 125 V(LoadKeyedGeneric) \ |
124 V(LoadNamedField) \ | 126 V(LoadNamedField) \ |
125 V(LoadNamedGeneric) \ | 127 V(LoadNamedGeneric) \ |
126 V(LoadPixelArrayElement) \ | 128 V(LoadPixelArrayElement) \ |
127 V(LoadPixelArrayExternalPointer) \ | |
128 V(ModI) \ | 129 V(ModI) \ |
129 V(MulI) \ | 130 V(MulI) \ |
130 V(NumberTagD) \ | 131 V(NumberTagD) \ |
131 V(NumberTagI) \ | 132 V(NumberTagI) \ |
132 V(NumberUntagD) \ | 133 V(NumberUntagD) \ |
133 V(ObjectLiteral) \ | 134 V(ObjectLiteral) \ |
134 V(OsrEntry) \ | 135 V(OsrEntry) \ |
135 V(OuterContext) \ | 136 V(OuterContext) \ |
136 V(Parameter) \ | 137 V(Parameter) \ |
137 V(PixelArrayLength) \ | |
138 V(PushArgument) \ | 138 V(PushArgument) \ |
139 V(RegExpLiteral) \ | 139 V(RegExpLiteral) \ |
140 V(Return) \ | 140 V(Return) \ |
141 V(ShiftI) \ | 141 V(ShiftI) \ |
142 V(SmiTag) \ | 142 V(SmiTag) \ |
143 V(SmiUntag) \ | 143 V(SmiUntag) \ |
144 V(StackCheck) \ | 144 V(StackCheck) \ |
145 V(StoreContextSlot) \ | 145 V(StoreContextSlot) \ |
146 V(StoreGlobal) \ | 146 V(StoreGlobal) \ |
147 V(StoreKeyedFastElement) \ | 147 V(StoreKeyedFastElement) \ |
148 V(StoreKeyedGeneric) \ | 148 V(StoreKeyedGeneric) \ |
149 V(StoreNamedField) \ | 149 V(StoreNamedField) \ |
150 V(StoreNamedGeneric) \ | 150 V(StoreNamedGeneric) \ |
| 151 V(StorePixelArrayElement) \ |
151 V(StringCharCodeAt) \ | 152 V(StringCharCodeAt) \ |
152 V(StringLength) \ | 153 V(StringLength) \ |
153 V(SubI) \ | 154 V(SubI) \ |
154 V(TaggedToI) \ | 155 V(TaggedToI) \ |
155 V(Throw) \ | 156 V(Throw) \ |
156 V(Typeof) \ | 157 V(Typeof) \ |
157 V(TypeofIs) \ | 158 V(TypeofIs) \ |
158 V(TypeofIsAndBranch) \ | 159 V(TypeofIsAndBranch) \ |
159 V(IsConstructCall) \ | 160 V(IsConstructCall) \ |
160 V(IsConstructCallAndBranch) \ | 161 V(IsConstructCallAndBranch) \ |
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 public: | 986 public: |
986 explicit LJSArrayLength(LOperand* value) { | 987 explicit LJSArrayLength(LOperand* value) { |
987 inputs_[0] = value; | 988 inputs_[0] = value; |
988 } | 989 } |
989 | 990 |
990 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") | 991 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length") |
991 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) | 992 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength) |
992 }; | 993 }; |
993 | 994 |
994 | 995 |
995 class LPixelArrayLength: public LTemplateInstruction<1, 1, 0> { | 996 class LExternalArrayLength: public LTemplateInstruction<1, 1, 0> { |
996 public: | 997 public: |
997 explicit LPixelArrayLength(LOperand* value) { | 998 explicit LExternalArrayLength(LOperand* value) { |
998 inputs_[0] = value; | 999 inputs_[0] = value; |
999 } | 1000 } |
1000 | 1001 |
1001 DECLARE_CONCRETE_INSTRUCTION(PixelArrayLength, "pixel-array-length") | 1002 DECLARE_CONCRETE_INSTRUCTION(ExternalArrayLength, "pixel-array-length") |
1002 DECLARE_HYDROGEN_ACCESSOR(PixelArrayLength) | 1003 DECLARE_HYDROGEN_ACCESSOR(ExternalArrayLength) |
1003 }; | 1004 }; |
1004 | 1005 |
1005 | 1006 |
1006 class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> { | 1007 class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> { |
1007 public: | 1008 public: |
1008 explicit LFixedArrayLength(LOperand* value) { | 1009 explicit LFixedArrayLength(LOperand* value) { |
1009 inputs_[0] = value; | 1010 inputs_[0] = value; |
1010 } | 1011 } |
1011 | 1012 |
1012 DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength, "fixed-array-length") | 1013 DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength, "fixed-array-length") |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1145 class LLoadElements: public LTemplateInstruction<1, 1, 0> { | 1146 class LLoadElements: public LTemplateInstruction<1, 1, 0> { |
1146 public: | 1147 public: |
1147 explicit LLoadElements(LOperand* object) { | 1148 explicit LLoadElements(LOperand* object) { |
1148 inputs_[0] = object; | 1149 inputs_[0] = object; |
1149 } | 1150 } |
1150 | 1151 |
1151 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") | 1152 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") |
1152 }; | 1153 }; |
1153 | 1154 |
1154 | 1155 |
1155 class LLoadPixelArrayExternalPointer: public LTemplateInstruction<1, 1, 0> { | 1156 class LLoadExternalArrayPointer: public LTemplateInstruction<1, 1, 0> { |
1156 public: | 1157 public: |
1157 explicit LLoadPixelArrayExternalPointer(LOperand* object) { | 1158 explicit LLoadExternalArrayPointer(LOperand* object) { |
1158 inputs_[0] = object; | 1159 inputs_[0] = object; |
1159 } | 1160 } |
1160 | 1161 |
1161 DECLARE_CONCRETE_INSTRUCTION(LoadPixelArrayExternalPointer, | 1162 DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer, |
1162 "load-pixel-array-external-pointer") | 1163 "load-external-array-pointer") |
1163 }; | 1164 }; |
1164 | 1165 |
1165 | 1166 |
1166 class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { | 1167 class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { |
1167 public: | 1168 public: |
1168 LLoadKeyedFastElement(LOperand* elements, LOperand* key) { | 1169 LLoadKeyedFastElement(LOperand* elements, LOperand* key) { |
1169 inputs_[0] = elements; | 1170 inputs_[0] = elements; |
1170 inputs_[1] = key; | 1171 inputs_[1] = key; |
1171 } | 1172 } |
1172 | 1173 |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1575 public: | 1576 public: |
1576 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) | 1577 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) |
1577 : LStoreKeyed(obj, key, val) {} | 1578 : LStoreKeyed(obj, key, val) {} |
1578 | 1579 |
1579 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, | 1580 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, |
1580 "store-keyed-fast-element") | 1581 "store-keyed-fast-element") |
1581 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) | 1582 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) |
1582 }; | 1583 }; |
1583 | 1584 |
1584 | 1585 |
| 1586 class LStorePixelArrayElement: public LTemplateInstruction<0, 3, 0> { |
| 1587 public: |
| 1588 LStorePixelArrayElement(LOperand* external_pointer, |
| 1589 LOperand* key, |
| 1590 LOperand* val) { |
| 1591 inputs_[0] = external_pointer; |
| 1592 inputs_[1] = key; |
| 1593 inputs_[2] = val; |
| 1594 } |
| 1595 |
| 1596 DECLARE_CONCRETE_INSTRUCTION(StorePixelArrayElement, |
| 1597 "store-pixel-array-element") |
| 1598 DECLARE_HYDROGEN_ACCESSOR(StorePixelArrayElement) |
| 1599 |
| 1600 LOperand* external_pointer() { return inputs_[0]; } |
| 1601 LOperand* key() { return inputs_[1]; } |
| 1602 LOperand* value() { return inputs_[2]; } |
| 1603 }; |
| 1604 |
| 1605 |
1585 class LStoreKeyedGeneric: public LStoreKeyed { | 1606 class LStoreKeyedGeneric: public LStoreKeyed { |
1586 public: | 1607 public: |
1587 LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) | 1608 LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) |
1588 : LStoreKeyed(obj, key, val) { } | 1609 : LStoreKeyed(obj, key, val) { } |
1589 | 1610 |
1590 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") | 1611 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
1591 }; | 1612 }; |
1592 | 1613 |
1593 | 1614 |
1594 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { | 1615 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2028 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2049 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2029 }; | 2050 }; |
2030 | 2051 |
2031 #undef DECLARE_HYDROGEN_ACCESSOR | 2052 #undef DECLARE_HYDROGEN_ACCESSOR |
2032 #undef DECLARE_INSTRUCTION | 2053 #undef DECLARE_INSTRUCTION |
2033 #undef DECLARE_CONCRETE_INSTRUCTION | 2054 #undef DECLARE_CONCRETE_INSTRUCTION |
2034 | 2055 |
2035 } } // namespace v8::internal | 2056 } } // namespace v8::internal |
2036 | 2057 |
2037 #endif // V8_ARM_LITHIUM_ARM_H_ | 2058 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |