| 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_MIPS_LITHIUM_MIPS_H_ | 5 #ifndef V8_MIPS_LITHIUM_MIPS_H_ |
| 6 #define V8_MIPS_LITHIUM_MIPS_H_ | 6 #define V8_MIPS_LITHIUM_MIPS_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 1528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1539 inputs_[0] = object; | 1539 inputs_[0] = object; |
| 1540 } | 1540 } |
| 1541 | 1541 |
| 1542 LOperand* object() { return inputs_[0]; } | 1542 LOperand* object() { return inputs_[0]; } |
| 1543 | 1543 |
| 1544 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") | 1544 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") |
| 1545 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) | 1545 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) |
| 1546 }; | 1546 }; |
| 1547 | 1547 |
| 1548 | 1548 |
| 1549 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { | 1549 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
| 1550 public: | 1550 public: |
| 1551 LLoadNamedGeneric(LOperand* context, LOperand* object) { | 1551 LLoadNamedGeneric(LOperand* context, LOperand* object, LOperand* vector) { |
| 1552 inputs_[0] = context; | 1552 inputs_[0] = context; |
| 1553 inputs_[1] = object; | 1553 inputs_[1] = object; |
| 1554 temps_[0] = vector; |
| 1554 } | 1555 } |
| 1555 | 1556 |
| 1556 LOperand* context() { return inputs_[0]; } | 1557 LOperand* context() { return inputs_[0]; } |
| 1557 LOperand* object() { return inputs_[1]; } | 1558 LOperand* object() { return inputs_[1]; } |
| 1559 LOperand* temp_vector() { return temps_[0]; } |
| 1558 | 1560 |
| 1559 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") | 1561 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") |
| 1560 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) | 1562 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) |
| 1561 | 1563 |
| 1562 Handle<Object> name() const { return hydrogen()->name(); } | 1564 Handle<Object> name() const { return hydrogen()->name(); } |
| 1563 }; | 1565 }; |
| 1564 | 1566 |
| 1565 | 1567 |
| 1566 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 1568 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
| 1567 public: | 1569 public: |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1608 } | 1610 } |
| 1609 | 1611 |
| 1610 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") | 1612 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") |
| 1611 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) | 1613 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) |
| 1612 | 1614 |
| 1613 virtual void PrintDataTo(StringStream* stream); | 1615 virtual void PrintDataTo(StringStream* stream); |
| 1614 uint32_t base_offset() const { return hydrogen()->base_offset(); } | 1616 uint32_t base_offset() const { return hydrogen()->base_offset(); } |
| 1615 }; | 1617 }; |
| 1616 | 1618 |
| 1617 | 1619 |
| 1618 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { | 1620 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 1> { |
| 1619 public: | 1621 public: |
| 1620 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key) { | 1622 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key, |
| 1623 LOperand* vector) { |
| 1621 inputs_[0] = context; | 1624 inputs_[0] = context; |
| 1622 inputs_[1] = object; | 1625 inputs_[1] = object; |
| 1623 inputs_[2] = key; | 1626 inputs_[2] = key; |
| 1627 temps_[0] = vector; |
| 1624 } | 1628 } |
| 1625 | 1629 |
| 1626 LOperand* context() { return inputs_[0]; } | 1630 LOperand* context() { return inputs_[0]; } |
| 1627 LOperand* object() { return inputs_[1]; } | 1631 LOperand* object() { return inputs_[1]; } |
| 1628 LOperand* key() { return inputs_[2]; } | 1632 LOperand* key() { return inputs_[2]; } |
| 1633 LOperand* temp_vector() { return temps_[0]; } |
| 1629 | 1634 |
| 1630 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") | 1635 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") |
| 1636 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedGeneric) |
| 1631 }; | 1637 }; |
| 1632 | 1638 |
| 1633 | 1639 |
| 1634 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> { | 1640 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> { |
| 1635 public: | 1641 public: |
| 1636 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell") | 1642 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell") |
| 1637 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell) | 1643 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell) |
| 1638 }; | 1644 }; |
| 1639 | 1645 |
| 1640 | 1646 |
| 1641 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { | 1647 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> { |
| 1642 public: | 1648 public: |
| 1643 LLoadGlobalGeneric(LOperand* context, LOperand* global_object) { | 1649 LLoadGlobalGeneric(LOperand* context, LOperand* global_object, |
| 1650 LOperand* vector) { |
| 1644 inputs_[0] = context; | 1651 inputs_[0] = context; |
| 1645 inputs_[1] = global_object; | 1652 inputs_[1] = global_object; |
| 1653 temps_[0] = vector; |
| 1646 } | 1654 } |
| 1647 | 1655 |
| 1648 LOperand* context() { return inputs_[0]; } | 1656 LOperand* context() { return inputs_[0]; } |
| 1649 LOperand* global_object() { return inputs_[1]; } | 1657 LOperand* global_object() { return inputs_[1]; } |
| 1658 LOperand* temp_vector() { return temps_[0]; } |
| 1650 | 1659 |
| 1651 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") | 1660 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") |
| 1652 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) | 1661 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) |
| 1653 | 1662 |
| 1654 Handle<Object> name() const { return hydrogen()->name(); } | 1663 Handle<Object> name() const { return hydrogen()->name(); } |
| 1655 bool for_typeof() const { return hydrogen()->for_typeof(); } | 1664 bool for_typeof() const { return hydrogen()->for_typeof(); } |
| 1656 }; | 1665 }; |
| 1657 | 1666 |
| 1658 | 1667 |
| 1659 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 1> { | 1668 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 1> { |
| (...skipping 1168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2828 | 2837 |
| 2829 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2838 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2830 }; | 2839 }; |
| 2831 | 2840 |
| 2832 #undef DECLARE_HYDROGEN_ACCESSOR | 2841 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2833 #undef DECLARE_CONCRETE_INSTRUCTION | 2842 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2834 | 2843 |
| 2835 } } // namespace v8::internal | 2844 } } // namespace v8::internal |
| 2836 | 2845 |
| 2837 #endif // V8_MIPS_LITHIUM_MIPS_H_ | 2846 #endif // V8_MIPS_LITHIUM_MIPS_H_ |
| OLD | NEW |