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 1616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1627 | 1627 |
1628 | 1628 |
1629 // Sometimes truncating conversion from a tagged value to an int32. | 1629 // Sometimes truncating conversion from a tagged value to an int32. |
1630 class LDoubleToI: public LTemplateInstruction<1, 1, 0> { | 1630 class LDoubleToI: public LTemplateInstruction<1, 1, 0> { |
1631 public: | 1631 public: |
1632 explicit LDoubleToI(LOperand* value) { | 1632 explicit LDoubleToI(LOperand* value) { |
1633 inputs_[0] = value; | 1633 inputs_[0] = value; |
1634 } | 1634 } |
1635 | 1635 |
1636 DECLARE_CONCRETE_INSTRUCTION(DoubleToI, "double-to-i") | 1636 DECLARE_CONCRETE_INSTRUCTION(DoubleToI, "double-to-i") |
1637 DECLARE_HYDROGEN_ACCESSOR(Change) | 1637 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) |
1638 | 1638 |
1639 bool truncating() { return hydrogen()->CanTruncateToInt32(); } | 1639 bool truncating() { return hydrogen()->CanTruncateToInt32(); } |
1640 }; | 1640 }; |
1641 | 1641 |
1642 | 1642 |
1643 // Truncating conversion from a tagged value to an int32. | 1643 // Truncating conversion from a tagged value to an int32. |
1644 class LTaggedToI: public LTemplateInstruction<1, 1, 1> { | 1644 class LTaggedToI: public LTemplateInstruction<1, 1, 1> { |
1645 public: | 1645 public: |
1646 LTaggedToI(LOperand* value, LOperand* temp) { | 1646 LTaggedToI(LOperand* value, LOperand* temp) { |
1647 inputs_[0] = value; | 1647 inputs_[0] = value; |
1648 temps_[0] = temp; | 1648 temps_[0] = temp; |
1649 } | 1649 } |
1650 | 1650 |
1651 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") | 1651 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") |
1652 DECLARE_HYDROGEN_ACCESSOR(Change) | 1652 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) |
1653 | 1653 |
1654 bool truncating() { return hydrogen()->CanTruncateToInt32(); } | 1654 bool truncating() { return hydrogen()->CanTruncateToInt32(); } |
1655 }; | 1655 }; |
1656 | 1656 |
1657 | 1657 |
1658 class LSmiTag: public LTemplateInstruction<1, 1, 0> { | 1658 class LSmiTag: public LTemplateInstruction<1, 1, 0> { |
1659 public: | 1659 public: |
1660 explicit LSmiTag(LOperand* value) { | 1660 explicit LSmiTag(LOperand* value) { |
1661 inputs_[0] = value; | 1661 inputs_[0] = value; |
1662 } | 1662 } |
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2324 | 2324 |
2325 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2325 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2326 }; | 2326 }; |
2327 | 2327 |
2328 #undef DECLARE_HYDROGEN_ACCESSOR | 2328 #undef DECLARE_HYDROGEN_ACCESSOR |
2329 #undef DECLARE_CONCRETE_INSTRUCTION | 2329 #undef DECLARE_CONCRETE_INSTRUCTION |
2330 | 2330 |
2331 } } // namespace v8::int | 2331 } } // namespace v8::int |
2332 | 2332 |
2333 #endif // V8_X64_LITHIUM_X64_H_ | 2333 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |