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 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1288 inputs_[0] = global_object; | 1288 inputs_[0] = global_object; |
1289 inputs_[1] = value; | 1289 inputs_[1] = value; |
1290 } | 1290 } |
1291 | 1291 |
1292 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") | 1292 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") |
1293 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) | 1293 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) |
1294 | 1294 |
1295 LOperand* global_object() { return InputAt(0); } | 1295 LOperand* global_object() { return InputAt(0); } |
1296 Handle<Object> name() const { return hydrogen()->name(); } | 1296 Handle<Object> name() const { return hydrogen()->name(); } |
1297 LOperand* value() { return InputAt(1); } | 1297 LOperand* value() { return InputAt(1); } |
| 1298 bool strict_mode() { return hydrogen()->strict_mode(); } |
1298 }; | 1299 }; |
1299 | 1300 |
1300 | 1301 |
1301 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { | 1302 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { |
1302 public: | 1303 public: |
1303 explicit LLoadContextSlot(LOperand* context) { | 1304 explicit LLoadContextSlot(LOperand* context) { |
1304 inputs_[0] = context; | 1305 inputs_[0] = context; |
1305 } | 1306 } |
1306 | 1307 |
1307 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1308 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1609 } | 1610 } |
1610 | 1611 |
1611 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") | 1612 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") |
1612 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) | 1613 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) |
1613 | 1614 |
1614 virtual void PrintDataTo(StringStream* stream); | 1615 virtual void PrintDataTo(StringStream* stream); |
1615 | 1616 |
1616 LOperand* object() { return inputs_[0]; } | 1617 LOperand* object() { return inputs_[0]; } |
1617 LOperand* value() { return inputs_[1]; } | 1618 LOperand* value() { return inputs_[1]; } |
1618 Handle<Object> name() const { return hydrogen()->name(); } | 1619 Handle<Object> name() const { return hydrogen()->name(); } |
| 1620 bool strict_mode() { return hydrogen()->strict_mode(); } |
1619 }; | 1621 }; |
1620 | 1622 |
1621 | 1623 |
1622 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { | 1624 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { |
1623 public: | 1625 public: |
1624 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { | 1626 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { |
1625 inputs_[0] = obj; | 1627 inputs_[0] = obj; |
1626 inputs_[1] = key; | 1628 inputs_[1] = key; |
1627 inputs_[2] = val; | 1629 inputs_[2] = val; |
1628 } | 1630 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1664 | 1666 |
1665 class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { | 1667 class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { |
1666 public: | 1668 public: |
1667 LStoreKeyedGeneric(LOperand* object, LOperand* key, LOperand* value) { | 1669 LStoreKeyedGeneric(LOperand* object, LOperand* key, LOperand* value) { |
1668 inputs_[0] = object; | 1670 inputs_[0] = object; |
1669 inputs_[1] = key; | 1671 inputs_[1] = key; |
1670 inputs_[2] = value; | 1672 inputs_[2] = value; |
1671 } | 1673 } |
1672 | 1674 |
1673 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") | 1675 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
| 1676 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) |
1674 | 1677 |
1675 virtual void PrintDataTo(StringStream* stream); | 1678 virtual void PrintDataTo(StringStream* stream); |
1676 | 1679 |
1677 LOperand* object() { return inputs_[0]; } | 1680 LOperand* object() { return inputs_[0]; } |
1678 LOperand* key() { return inputs_[1]; } | 1681 LOperand* key() { return inputs_[1]; } |
1679 LOperand* value() { return inputs_[2]; } | 1682 LOperand* value() { return inputs_[2]; } |
| 1683 bool strict_mode() { return hydrogen()->strict_mode(); } |
1680 }; | 1684 }; |
1681 | 1685 |
1682 | 1686 |
1683 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { | 1687 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { |
1684 public: | 1688 public: |
1685 LStringCharCodeAt(LOperand* string, LOperand* index) { | 1689 LStringCharCodeAt(LOperand* string, LOperand* index) { |
1686 inputs_[0] = string; | 1690 inputs_[0] = string; |
1687 inputs_[1] = index; | 1691 inputs_[1] = index; |
1688 } | 1692 } |
1689 | 1693 |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2152 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2156 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2153 }; | 2157 }; |
2154 | 2158 |
2155 #undef DECLARE_HYDROGEN_ACCESSOR | 2159 #undef DECLARE_HYDROGEN_ACCESSOR |
2156 #undef DECLARE_INSTRUCTION | 2160 #undef DECLARE_INSTRUCTION |
2157 #undef DECLARE_CONCRETE_INSTRUCTION | 2161 #undef DECLARE_CONCRETE_INSTRUCTION |
2158 | 2162 |
2159 } } // namespace v8::int | 2163 } } // namespace v8::int |
2160 | 2164 |
2161 #endif // V8_X64_LITHIUM_X64_H_ | 2165 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |