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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
138 V(Parameter) \ | 138 V(Parameter) \ |
139 V(Power) \ | 139 V(Power) \ |
140 V(PushArgument) \ | 140 V(PushArgument) \ |
141 V(RegExpLiteral) \ | 141 V(RegExpLiteral) \ |
142 V(Return) \ | 142 V(Return) \ |
143 V(ShiftI) \ | 143 V(ShiftI) \ |
144 V(SmiTag) \ | 144 V(SmiTag) \ |
145 V(SmiUntag) \ | 145 V(SmiUntag) \ |
146 V(StackCheck) \ | 146 V(StackCheck) \ |
147 V(StoreContextSlot) \ | 147 V(StoreContextSlot) \ |
148 V(StoreGlobal) \ | 148 V(StoreGlobalCell) \ |
149 V(StoreGlobalGeneric) \ | |
149 V(StoreKeyedFastElement) \ | 150 V(StoreKeyedFastElement) \ |
150 V(StoreKeyedGeneric) \ | 151 V(StoreKeyedGeneric) \ |
151 V(StoreKeyedSpecializedArrayElement) \ | 152 V(StoreKeyedSpecializedArrayElement) \ |
152 V(StoreNamedField) \ | 153 V(StoreNamedField) \ |
153 V(StoreNamedGeneric) \ | 154 V(StoreNamedGeneric) \ |
154 V(StringCharCodeAt) \ | 155 V(StringCharCodeAt) \ |
155 V(StringCharFromCode) \ | 156 V(StringCharFromCode) \ |
156 V(StringLength) \ | 157 V(StringLength) \ |
157 V(SubI) \ | 158 V(SubI) \ |
158 V(TaggedToI) \ | 159 V(TaggedToI) \ |
(...skipping 1116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1275 | 1276 |
1276 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") | 1277 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") |
1277 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) | 1278 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) |
1278 | 1279 |
1279 LOperand* global_object() { return inputs_[0]; } | 1280 LOperand* global_object() { return inputs_[0]; } |
1280 Handle<Object> name() const { return hydrogen()->name(); } | 1281 Handle<Object> name() const { return hydrogen()->name(); } |
1281 bool for_typeof() const { return hydrogen()->for_typeof(); } | 1282 bool for_typeof() const { return hydrogen()->for_typeof(); } |
1282 }; | 1283 }; |
1283 | 1284 |
1284 | 1285 |
1285 class LStoreGlobal: public LTemplateInstruction<0, 1, 1> { | 1286 class LStoreGlobalCell: public LTemplateInstruction<0, 1, 1> { |
1286 public: | 1287 public: |
1287 LStoreGlobal(LOperand* value, LOperand* temp) { | 1288 LStoreGlobalCell(LOperand* value, LOperand* temp) { |
1288 inputs_[0] = value; | 1289 inputs_[0] = value; |
1289 temps_[0] = temp; | 1290 temps_[0] = temp; |
1290 } | 1291 } |
1291 | 1292 |
1292 DECLARE_CONCRETE_INSTRUCTION(StoreGlobal, "store-global") | 1293 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell") |
1293 DECLARE_HYDROGEN_ACCESSOR(StoreGlobal) | 1294 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalCell) |
1294 }; | 1295 }; |
1295 | 1296 |
1296 | 1297 |
1298 class LStoreGlobalGeneric: public LTemplateInstruction<1, 2, 0> { | |
fschneider
2011/04/04 13:47:50
<0, 2, 0>
Søren Thygesen Gjesse
2011/04/04 14:16:34
Done.
| |
1299 public: | |
1300 explicit LStoreGlobalGeneric(LOperand* global_object, | |
1301 LOperand* value) { | |
1302 inputs_[0] = global_object; | |
1303 inputs_[1] = value; | |
1304 } | |
1305 | |
1306 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") | |
1307 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) | |
1308 | |
1309 LOperand* global_object() { return InputAt(0); } | |
1310 Handle<Object> name() const { return hydrogen()->name(); } | |
1311 LOperand* value() { return InputAt(1); } | |
1312 }; | |
1313 | |
1314 | |
1297 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { | 1315 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { |
1298 public: | 1316 public: |
1299 explicit LLoadContextSlot(LOperand* context) { | 1317 explicit LLoadContextSlot(LOperand* context) { |
1300 inputs_[0] = context; | 1318 inputs_[0] = context; |
1301 } | 1319 } |
1302 | 1320 |
1303 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1321 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
1304 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) | 1322 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) |
1305 | 1323 |
1306 LOperand* context() { return InputAt(0); } | 1324 LOperand* context() { return InputAt(0); } |
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2152 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2170 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2153 }; | 2171 }; |
2154 | 2172 |
2155 #undef DECLARE_HYDROGEN_ACCESSOR | 2173 #undef DECLARE_HYDROGEN_ACCESSOR |
2156 #undef DECLARE_INSTRUCTION | 2174 #undef DECLARE_INSTRUCTION |
2157 #undef DECLARE_CONCRETE_INSTRUCTION | 2175 #undef DECLARE_CONCRETE_INSTRUCTION |
2158 | 2176 |
2159 } } // namespace v8::internal | 2177 } } // namespace v8::internal |
2160 | 2178 |
2161 #endif // V8_ARM_LITHIUM_ARM_H_ | 2179 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |