| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_X87_LITHIUM_X87_H_ | 5 #ifndef V8_X87_LITHIUM_X87_H_ |
| 6 #define V8_X87_LITHIUM_X87_H_ | 6 #define V8_X87_LITHIUM_X87_H_ |
| 7 | 7 |
| 8 #include "src/hydrogen.h" | 8 #include "src/hydrogen.h" |
| 9 #include "src/lithium.h" | 9 #include "src/lithium.h" |
| 10 #include "src/lithium-allocator.h" | 10 #include "src/lithium-allocator.h" |
| (...skipping 1575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1586 inputs_[0] = object; | 1586 inputs_[0] = object; |
| 1587 } | 1587 } |
| 1588 | 1588 |
| 1589 LOperand* object() { return inputs_[0]; } | 1589 LOperand* object() { return inputs_[0]; } |
| 1590 | 1590 |
| 1591 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") | 1591 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") |
| 1592 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) | 1592 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) |
| 1593 }; | 1593 }; |
| 1594 | 1594 |
| 1595 | 1595 |
| 1596 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { | 1596 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
| 1597 public: | 1597 public: |
| 1598 LLoadNamedGeneric(LOperand* context, LOperand* object) { | 1598 LLoadNamedGeneric(LOperand* context, LOperand* object, LOperand* vector) { |
| 1599 inputs_[0] = context; | 1599 inputs_[0] = context; |
| 1600 inputs_[1] = object; | 1600 inputs_[1] = object; |
| 1601 temps_[0] = vector; |
| 1601 } | 1602 } |
| 1602 | 1603 |
| 1603 LOperand* context() { return inputs_[0]; } | 1604 LOperand* context() { return inputs_[0]; } |
| 1604 LOperand* object() { return inputs_[1]; } | 1605 LOperand* object() { return inputs_[1]; } |
| 1606 LOperand* temp_vector() { return temps_[0]; } |
| 1605 | 1607 |
| 1606 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") | 1608 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") |
| 1607 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) | 1609 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) |
| 1608 | 1610 |
| 1609 Handle<Object> name() const { return hydrogen()->name(); } | 1611 Handle<Object> name() const { return hydrogen()->name(); } |
| 1610 }; | 1612 }; |
| 1611 | 1613 |
| 1612 | 1614 |
| 1613 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 1> { | 1615 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 1> { |
| 1614 public: | 1616 public: |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1675 return key_representation.IsSmi() && | 1677 return key_representation.IsSmi() && |
| 1676 (elements_kind == EXTERNAL_INT8_ELEMENTS || | 1678 (elements_kind == EXTERNAL_INT8_ELEMENTS || |
| 1677 elements_kind == EXTERNAL_UINT8_ELEMENTS || | 1679 elements_kind == EXTERNAL_UINT8_ELEMENTS || |
| 1678 elements_kind == EXTERNAL_UINT8_CLAMPED_ELEMENTS || | 1680 elements_kind == EXTERNAL_UINT8_CLAMPED_ELEMENTS || |
| 1679 elements_kind == UINT8_ELEMENTS || | 1681 elements_kind == UINT8_ELEMENTS || |
| 1680 elements_kind == INT8_ELEMENTS || | 1682 elements_kind == INT8_ELEMENTS || |
| 1681 elements_kind == UINT8_CLAMPED_ELEMENTS); | 1683 elements_kind == UINT8_CLAMPED_ELEMENTS); |
| 1682 } | 1684 } |
| 1683 | 1685 |
| 1684 | 1686 |
| 1685 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { | 1687 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 1> { |
| 1686 public: | 1688 public: |
| 1687 LLoadKeyedGeneric(LOperand* context, LOperand* obj, LOperand* key) { | 1689 LLoadKeyedGeneric(LOperand* context, LOperand* obj, LOperand* key, |
| 1690 LOperand* vector) { |
| 1688 inputs_[0] = context; | 1691 inputs_[0] = context; |
| 1689 inputs_[1] = obj; | 1692 inputs_[1] = obj; |
| 1690 inputs_[2] = key; | 1693 inputs_[2] = key; |
| 1694 temps_[0] = vector; |
| 1691 } | 1695 } |
| 1692 | 1696 |
| 1693 LOperand* context() { return inputs_[0]; } | 1697 LOperand* context() { return inputs_[0]; } |
| 1694 LOperand* object() { return inputs_[1]; } | 1698 LOperand* object() { return inputs_[1]; } |
| 1695 LOperand* key() { return inputs_[2]; } | 1699 LOperand* key() { return inputs_[2]; } |
| 1700 LOperand* temp_vector() { return temps_[0]; } |
| 1696 | 1701 |
| 1697 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") | 1702 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") |
| 1703 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedGeneric) |
| 1698 }; | 1704 }; |
| 1699 | 1705 |
| 1700 | 1706 |
| 1701 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> { | 1707 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
| 1702 public: | 1708 public: |
| 1703 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell") | 1709 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell") |
| 1704 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell) | 1710 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell) |
| 1705 }; | 1711 }; |
| 1706 | 1712 |
| 1707 | 1713 |
| 1708 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { | 1714 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
| 1709 public: | 1715 public: |
| 1710 LLoadGlobalGeneric(LOperand* context, LOperand* global_object) { | 1716 LLoadGlobalGeneric(LOperand* context, LOperand* global_object, |
| 1717 LOperand* vector) { |
| 1711 inputs_[0] = context; | 1718 inputs_[0] = context; |
| 1712 inputs_[1] = global_object; | 1719 inputs_[1] = global_object; |
| 1720 temps_[0] = vector; |
| 1713 } | 1721 } |
| 1714 | 1722 |
| 1715 LOperand* context() { return inputs_[0]; } | 1723 LOperand* context() { return inputs_[0]; } |
| 1716 LOperand* global_object() { return inputs_[1]; } | 1724 LOperand* global_object() { return inputs_[1]; } |
| 1725 LOperand* temp_vector() { return temps_[0]; } |
| 1717 | 1726 |
| 1718 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") | 1727 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") |
| 1719 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) | 1728 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) |
| 1720 | 1729 |
| 1721 Handle<Object> name() const { return hydrogen()->name(); } | 1730 Handle<Object> name() const { return hydrogen()->name(); } |
| 1722 bool for_typeof() const { return hydrogen()->for_typeof(); } | 1731 bool for_typeof() const { return hydrogen()->for_typeof(); } |
| 1723 }; | 1732 }; |
| 1724 | 1733 |
| 1725 | 1734 |
| 1726 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 0> { | 1735 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 0> { |
| (...skipping 1152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2879 | 2888 |
| 2880 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2889 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2881 }; | 2890 }; |
| 2882 | 2891 |
| 2883 #undef DECLARE_HYDROGEN_ACCESSOR | 2892 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2884 #undef DECLARE_CONCRETE_INSTRUCTION | 2893 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2885 | 2894 |
| 2886 } } // namespace v8::internal | 2895 } } // namespace v8::internal |
| 2887 | 2896 |
| 2888 #endif // V8_X87_LITHIUM_X87_H_ | 2897 #endif // V8_X87_LITHIUM_X87_H_ |
| OLD | NEW |