| 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 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1194 LLoadKeyedFastElement(LOperand* elements, LOperand* key) { | 1194 LLoadKeyedFastElement(LOperand* elements, LOperand* key) { |
| 1195 inputs_[0] = elements; | 1195 inputs_[0] = elements; |
| 1196 inputs_[1] = key; | 1196 inputs_[1] = key; |
| 1197 } | 1197 } |
| 1198 | 1198 |
| 1199 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFastElement, "load-keyed-fast-element") | 1199 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFastElement, "load-keyed-fast-element") |
| 1200 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedFastElement) | 1200 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedFastElement) |
| 1201 | 1201 |
| 1202 LOperand* elements() { return inputs_[0]; } | 1202 LOperand* elements() { return inputs_[0]; } |
| 1203 LOperand* key() { return inputs_[1]; } | 1203 LOperand* key() { return inputs_[1]; } |
| 1204 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| 1204 }; | 1205 }; |
| 1205 | 1206 |
| 1206 | 1207 |
| 1207 class LLoadKeyedFastDoubleElement: public LTemplateInstruction<1, 2, 0> { | 1208 class LLoadKeyedFastDoubleElement: public LTemplateInstruction<1, 2, 0> { |
| 1208 public: | 1209 public: |
| 1209 LLoadKeyedFastDoubleElement(LOperand* elements, LOperand* key) { | 1210 LLoadKeyedFastDoubleElement(LOperand* elements, LOperand* key) { |
| 1210 inputs_[0] = elements; | 1211 inputs_[0] = elements; |
| 1211 inputs_[1] = key; | 1212 inputs_[1] = key; |
| 1212 } | 1213 } |
| 1213 | 1214 |
| 1214 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFastDoubleElement, | 1215 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFastDoubleElement, |
| 1215 "load-keyed-fast-double-element") | 1216 "load-keyed-fast-double-element") |
| 1216 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedFastDoubleElement) | 1217 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedFastDoubleElement) |
| 1217 | 1218 |
| 1218 LOperand* elements() { return inputs_[0]; } | 1219 LOperand* elements() { return inputs_[0]; } |
| 1219 LOperand* key() { return inputs_[1]; } | 1220 LOperand* key() { return inputs_[1]; } |
| 1221 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| 1220 }; | 1222 }; |
| 1221 | 1223 |
| 1222 | 1224 |
| 1223 class LLoadKeyedSpecializedArrayElement: public LTemplateInstruction<1, 2, 0> { | 1225 class LLoadKeyedSpecializedArrayElement: public LTemplateInstruction<1, 2, 0> { |
| 1224 public: | 1226 public: |
| 1225 LLoadKeyedSpecializedArrayElement(LOperand* external_pointer, | 1227 LLoadKeyedSpecializedArrayElement(LOperand* external_pointer, LOperand* key)
{ |
| 1226 LOperand* key) { | |
| 1227 inputs_[0] = external_pointer; | 1228 inputs_[0] = external_pointer; |
| 1228 inputs_[1] = key; | 1229 inputs_[1] = key; |
| 1229 } | 1230 } |
| 1230 | 1231 |
| 1231 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedSpecializedArrayElement, | 1232 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedSpecializedArrayElement, |
| 1232 "load-keyed-specialized-array-element") | 1233 "load-keyed-specialized-array-element") |
| 1233 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedSpecializedArrayElement) | 1234 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedSpecializedArrayElement) |
| 1234 | 1235 |
| 1235 LOperand* external_pointer() { return inputs_[0]; } | 1236 LOperand* external_pointer() { return inputs_[0]; } |
| 1236 LOperand* key() { return inputs_[1]; } | 1237 LOperand* key() { return inputs_[1]; } |
| 1237 ElementsKind elements_kind() const { | 1238 ElementsKind elements_kind() const { |
| 1238 return hydrogen()->elements_kind(); | 1239 return hydrogen()->elements_kind(); |
| 1239 } | 1240 } |
| 1241 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| 1240 }; | 1242 }; |
| 1241 | 1243 |
| 1242 | 1244 |
| 1243 class LLoadKeyedGeneric: public LTemplateInstruction<1, 2, 0> { | 1245 class LLoadKeyedGeneric: public LTemplateInstruction<1, 2, 0> { |
| 1244 public: | 1246 public: |
| 1245 LLoadKeyedGeneric(LOperand* obj, LOperand* key) { | 1247 LLoadKeyedGeneric(LOperand* obj, LOperand* key) { |
| 1246 inputs_[0] = obj; | 1248 inputs_[0] = obj; |
| 1247 inputs_[1] = key; | 1249 inputs_[1] = key; |
| 1248 } | 1250 } |
| 1249 | 1251 |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1698 | 1700 |
| 1699 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, | 1701 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastElement, |
| 1700 "store-keyed-fast-element") | 1702 "store-keyed-fast-element") |
| 1701 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) | 1703 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastElement) |
| 1702 | 1704 |
| 1703 virtual void PrintDataTo(StringStream* stream); | 1705 virtual void PrintDataTo(StringStream* stream); |
| 1704 | 1706 |
| 1705 LOperand* object() { return inputs_[0]; } | 1707 LOperand* object() { return inputs_[0]; } |
| 1706 LOperand* key() { return inputs_[1]; } | 1708 LOperand* key() { return inputs_[1]; } |
| 1707 LOperand* value() { return inputs_[2]; } | 1709 LOperand* value() { return inputs_[2]; } |
| 1710 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| 1708 }; | 1711 }; |
| 1709 | 1712 |
| 1710 | 1713 |
| 1711 class LStoreKeyedFastDoubleElement: public LTemplateInstruction<0, 3, 0> { | 1714 class LStoreKeyedFastDoubleElement: public LTemplateInstruction<0, 3, 0> { |
| 1712 public: | 1715 public: |
| 1713 LStoreKeyedFastDoubleElement(LOperand* elements, | 1716 LStoreKeyedFastDoubleElement(LOperand* elements, |
| 1714 LOperand* key, | 1717 LOperand* key, |
| 1715 LOperand* val) { | 1718 LOperand* val) { |
| 1716 inputs_[0] = elements; | 1719 inputs_[0] = elements; |
| 1717 inputs_[1] = key; | 1720 inputs_[1] = key; |
| 1718 inputs_[2] = val; | 1721 inputs_[2] = val; |
| 1719 } | 1722 } |
| 1720 | 1723 |
| 1721 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastDoubleElement, | 1724 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedFastDoubleElement, |
| 1722 "store-keyed-fast-double-element") | 1725 "store-keyed-fast-double-element") |
| 1723 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastDoubleElement) | 1726 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedFastDoubleElement) |
| 1724 | 1727 |
| 1725 virtual void PrintDataTo(StringStream* stream); | 1728 virtual void PrintDataTo(StringStream* stream); |
| 1726 | 1729 |
| 1727 LOperand* elements() { return inputs_[0]; } | 1730 LOperand* elements() { return inputs_[0]; } |
| 1728 LOperand* key() { return inputs_[1]; } | 1731 LOperand* key() { return inputs_[1]; } |
| 1729 LOperand* value() { return inputs_[2]; } | 1732 LOperand* value() { return inputs_[2]; } |
| 1733 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| 1730 | 1734 |
| 1731 bool NeedsCanonicalization() { return hydrogen()->NeedsCanonicalization(); } | 1735 bool NeedsCanonicalization() { return hydrogen()->NeedsCanonicalization(); } |
| 1732 }; | 1736 }; |
| 1733 | 1737 |
| 1734 | 1738 |
| 1735 class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { | 1739 class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { |
| 1736 public: | 1740 public: |
| 1737 LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) { | 1741 LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) { |
| 1738 inputs_[0] = obj; | 1742 inputs_[0] = obj; |
| 1739 inputs_[1] = key; | 1743 inputs_[1] = key; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1764 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedSpecializedArrayElement, | 1768 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedSpecializedArrayElement, |
| 1765 "store-keyed-specialized-array-element") | 1769 "store-keyed-specialized-array-element") |
| 1766 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedSpecializedArrayElement) | 1770 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedSpecializedArrayElement) |
| 1767 | 1771 |
| 1768 LOperand* external_pointer() { return inputs_[0]; } | 1772 LOperand* external_pointer() { return inputs_[0]; } |
| 1769 LOperand* key() { return inputs_[1]; } | 1773 LOperand* key() { return inputs_[1]; } |
| 1770 LOperand* value() { return inputs_[2]; } | 1774 LOperand* value() { return inputs_[2]; } |
| 1771 ElementsKind elements_kind() const { | 1775 ElementsKind elements_kind() const { |
| 1772 return hydrogen()->elements_kind(); | 1776 return hydrogen()->elements_kind(); |
| 1773 } | 1777 } |
| 1778 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
| 1774 }; | 1779 }; |
| 1775 | 1780 |
| 1776 | 1781 |
| 1777 class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> { | 1782 class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> { |
| 1778 public: | 1783 public: |
| 1779 LTransitionElementsKind(LOperand* object, | 1784 LTransitionElementsKind(LOperand* object, |
| 1780 LOperand* new_map_temp, | 1785 LOperand* new_map_temp, |
| 1781 LOperand* temp_reg) { | 1786 LOperand* temp_reg) { |
| 1782 inputs_[0] = object; | 1787 inputs_[0] = object; |
| 1783 temps_[0] = new_map_temp; | 1788 temps_[0] = new_map_temp; |
| (...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2389 | 2394 |
| 2390 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2395 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2391 }; | 2396 }; |
| 2392 | 2397 |
| 2393 #undef DECLARE_HYDROGEN_ACCESSOR | 2398 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2394 #undef DECLARE_CONCRETE_INSTRUCTION | 2399 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2395 | 2400 |
| 2396 } } // namespace v8::internal | 2401 } } // namespace v8::internal |
| 2397 | 2402 |
| 2398 #endif // V8_MIPS_LITHIUM_MIPS_H_ | 2403 #endif // V8_MIPS_LITHIUM_MIPS_H_ |
| OLD | NEW |