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 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1339 inputs_[2] = value; | 1339 inputs_[2] = value; |
1340 } | 1340 } |
1341 | 1341 |
1342 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") | 1342 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") |
1343 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) | 1343 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) |
1344 | 1344 |
1345 LOperand* context() { return InputAt(0); } | 1345 LOperand* context() { return InputAt(0); } |
1346 LOperand* global_object() { return InputAt(1); } | 1346 LOperand* global_object() { return InputAt(1); } |
1347 Handle<Object> name() const { return hydrogen()->name(); } | 1347 Handle<Object> name() const { return hydrogen()->name(); } |
1348 LOperand* value() { return InputAt(2); } | 1348 LOperand* value() { return InputAt(2); } |
| 1349 bool strict_mode() { return hydrogen()->strict_mode(); } |
1349 }; | 1350 }; |
1350 | 1351 |
1351 | 1352 |
1352 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { | 1353 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { |
1353 public: | 1354 public: |
1354 explicit LLoadContextSlot(LOperand* context) { | 1355 explicit LLoadContextSlot(LOperand* context) { |
1355 inputs_[0] = context; | 1356 inputs_[0] = context; |
1356 } | 1357 } |
1357 | 1358 |
1358 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1359 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1687 | 1688 |
1688 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") | 1689 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") |
1689 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) | 1690 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) |
1690 | 1691 |
1691 virtual void PrintDataTo(StringStream* stream); | 1692 virtual void PrintDataTo(StringStream* stream); |
1692 | 1693 |
1693 LOperand* context() { return inputs_[0]; } | 1694 LOperand* context() { return inputs_[0]; } |
1694 LOperand* object() { return inputs_[1]; } | 1695 LOperand* object() { return inputs_[1]; } |
1695 LOperand* value() { return inputs_[2]; } | 1696 LOperand* value() { return inputs_[2]; } |
1696 Handle<Object> name() const { return hydrogen()->name(); } | 1697 Handle<Object> name() const { return hydrogen()->name(); } |
| 1698 bool strict_mode() { return hydrogen()->strict_mode(); } |
1697 }; | 1699 }; |
1698 | 1700 |
1699 | 1701 |
1700 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { | 1702 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { |
1701 public: | 1703 public: |
1702 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { | 1704 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { |
1703 inputs_[0] = obj; | 1705 inputs_[0] = obj; |
1704 inputs_[1] = key; | 1706 inputs_[1] = key; |
1705 inputs_[2] = val; | 1707 inputs_[2] = val; |
1706 } | 1708 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1748 LOperand* object, | 1750 LOperand* object, |
1749 LOperand* key, | 1751 LOperand* key, |
1750 LOperand* value) { | 1752 LOperand* value) { |
1751 inputs_[0] = context; | 1753 inputs_[0] = context; |
1752 inputs_[1] = object; | 1754 inputs_[1] = object; |
1753 inputs_[2] = key; | 1755 inputs_[2] = key; |
1754 inputs_[3] = value; | 1756 inputs_[3] = value; |
1755 } | 1757 } |
1756 | 1758 |
1757 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") | 1759 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
| 1760 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) |
1758 | 1761 |
1759 virtual void PrintDataTo(StringStream* stream); | 1762 virtual void PrintDataTo(StringStream* stream); |
1760 | 1763 |
1761 LOperand* context() { return inputs_[0]; } | 1764 LOperand* context() { return inputs_[0]; } |
1762 LOperand* object() { return inputs_[1]; } | 1765 LOperand* object() { return inputs_[1]; } |
1763 LOperand* key() { return inputs_[2]; } | 1766 LOperand* key() { return inputs_[2]; } |
1764 LOperand* value() { return inputs_[3]; } | 1767 LOperand* value() { return inputs_[3]; } |
| 1768 bool strict_mode() { return hydrogen()->strict_mode(); } |
1765 }; | 1769 }; |
1766 | 1770 |
1767 | 1771 |
1768 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { | 1772 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { |
1769 public: | 1773 public: |
1770 LStringCharCodeAt(LOperand* string, LOperand* index) { | 1774 LStringCharCodeAt(LOperand* string, LOperand* index) { |
1771 inputs_[0] = string; | 1775 inputs_[0] = string; |
1772 inputs_[1] = index; | 1776 inputs_[1] = index; |
1773 } | 1777 } |
1774 | 1778 |
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2226 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2230 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2227 }; | 2231 }; |
2228 | 2232 |
2229 #undef DECLARE_HYDROGEN_ACCESSOR | 2233 #undef DECLARE_HYDROGEN_ACCESSOR |
2230 #undef DECLARE_INSTRUCTION | 2234 #undef DECLARE_INSTRUCTION |
2231 #undef DECLARE_CONCRETE_INSTRUCTION | 2235 #undef DECLARE_CONCRETE_INSTRUCTION |
2232 | 2236 |
2233 } } // namespace v8::internal | 2237 } } // namespace v8::internal |
2234 | 2238 |
2235 #endif // V8_IA32_LITHIUM_IA32_H_ | 2239 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |