| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef RUNTIME_VM_ASSEMBLER_MIPS_H_ | 5 #ifndef RUNTIME_VM_ASSEMBLER_MIPS_H_ |
| 6 #define RUNTIME_VM_ASSEMBLER_MIPS_H_ | 6 #define RUNTIME_VM_ASSEMBLER_MIPS_H_ |
| 7 | 7 |
| 8 #ifndef RUNTIME_VM_ASSEMBLER_H_ | 8 #ifndef RUNTIME_VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_mips.h directly; use assembler.h instead. | 9 #error Do not include assembler_mips.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 1581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1592 // Set up a Dart frame for a function compiled for on-stack replacement. | 1592 // Set up a Dart frame for a function compiled for on-stack replacement. |
| 1593 // The frame layout is a normal Dart frame, but the frame is partially set | 1593 // The frame layout is a normal Dart frame, but the frame is partially set |
| 1594 // up on entry (it is the frame of the unoptimized code). | 1594 // up on entry (it is the frame of the unoptimized code). |
| 1595 void EnterOsrFrame(intptr_t extra_size); | 1595 void EnterOsrFrame(intptr_t extra_size); |
| 1596 | 1596 |
| 1597 Address ElementAddressForIntIndex(bool is_external, | 1597 Address ElementAddressForIntIndex(bool is_external, |
| 1598 intptr_t cid, | 1598 intptr_t cid, |
| 1599 intptr_t index_scale, | 1599 intptr_t index_scale, |
| 1600 Register array, | 1600 Register array, |
| 1601 intptr_t index) const; | 1601 intptr_t index) const; |
| 1602 void LoadElementAddressForIntIndex(Register address, |
| 1603 bool is_external, |
| 1604 intptr_t cid, |
| 1605 intptr_t index_scale, |
| 1606 Register array, |
| 1607 intptr_t index); |
| 1602 Address ElementAddressForRegIndex(bool is_load, | 1608 Address ElementAddressForRegIndex(bool is_load, |
| 1603 bool is_external, | 1609 bool is_external, |
| 1604 intptr_t cid, | 1610 intptr_t cid, |
| 1605 intptr_t index_scale, | 1611 intptr_t index_scale, |
| 1606 Register array, | 1612 Register array, |
| 1607 Register index); | 1613 Register index); |
| 1614 void LoadElementAddressForRegIndex(Register address, |
| 1615 bool is_load, |
| 1616 bool is_external, |
| 1617 intptr_t cid, |
| 1618 intptr_t index_scale, |
| 1619 Register array, |
| 1620 Register index); |
| 1621 |
| 1622 void LoadHalfWordUnaligned(Register dst, Register addr, Register tmp); |
| 1623 void LoadHalfWordUnsignedUnaligned(Register dst, Register addr, Register tmp); |
| 1624 void StoreHalfWordUnaligned(Register src, Register addr, Register tmp); |
| 1625 void LoadWordUnaligned(Register dst, Register addr, Register tmp); |
| 1626 void StoreWordUnaligned(Register src, Register addr, Register tmp); |
| 1608 | 1627 |
| 1609 static Address VMTagAddress() { | 1628 static Address VMTagAddress() { |
| 1610 return Address(THR, Thread::vm_tag_offset()); | 1629 return Address(THR, Thread::vm_tag_offset()); |
| 1611 } | 1630 } |
| 1612 | 1631 |
| 1613 // On some other platforms, we draw a distinction between safe and unsafe | 1632 // On some other platforms, we draw a distinction between safe and unsafe |
| 1614 // smis. | 1633 // smis. |
| 1615 static bool IsSafe(const Object& object) { return true; } | 1634 static bool IsSafe(const Object& object) { return true; } |
| 1616 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } | 1635 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } |
| 1617 | 1636 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1758 Register value, | 1777 Register value, |
| 1759 Label* no_update); | 1778 Label* no_update); |
| 1760 | 1779 |
| 1761 DISALLOW_ALLOCATION(); | 1780 DISALLOW_ALLOCATION(); |
| 1762 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1781 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1763 }; | 1782 }; |
| 1764 | 1783 |
| 1765 } // namespace dart | 1784 } // namespace dart |
| 1766 | 1785 |
| 1767 #endif // RUNTIME_VM_ASSEMBLER_MIPS_H_ | 1786 #endif // RUNTIME_VM_ASSEMBLER_MIPS_H_ |
| OLD | NEW |