| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 1813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1824 if (is_int16(rs.offset_)) { | 1824 if (is_int16(rs.offset_)) { |
| 1825 GenInstrImmediate(LW, rs.rm(), rd, rs.offset_); | 1825 GenInstrImmediate(LW, rs.rm(), rd, rs.offset_); |
| 1826 } else { // Offset > 16 bits, use multiple instructions to load. | 1826 } else { // Offset > 16 bits, use multiple instructions to load. |
| 1827 LoadRegPlusOffsetToAt(rs); | 1827 LoadRegPlusOffsetToAt(rs); |
| 1828 GenInstrImmediate(LW, at, rd, 0); // Equiv to lw(rd, MemOperand(at, 0)); | 1828 GenInstrImmediate(LW, at, rd, 0); // Equiv to lw(rd, MemOperand(at, 0)); |
| 1829 } | 1829 } |
| 1830 } | 1830 } |
| 1831 | 1831 |
| 1832 | 1832 |
| 1833 void Assembler::lwl(Register rd, const MemOperand& rs) { | 1833 void Assembler::lwl(Register rd, const MemOperand& rs) { |
| 1834 DCHECK(is_int16(rs.offset_)); |
| 1834 GenInstrImmediate(LWL, rs.rm(), rd, rs.offset_); | 1835 GenInstrImmediate(LWL, rs.rm(), rd, rs.offset_); |
| 1835 } | 1836 } |
| 1836 | 1837 |
| 1837 | 1838 |
| 1838 void Assembler::lwr(Register rd, const MemOperand& rs) { | 1839 void Assembler::lwr(Register rd, const MemOperand& rs) { |
| 1840 DCHECK(is_int16(rs.offset_)); |
| 1839 GenInstrImmediate(LWR, rs.rm(), rd, rs.offset_); | 1841 GenInstrImmediate(LWR, rs.rm(), rd, rs.offset_); |
| 1840 } | 1842 } |
| 1841 | 1843 |
| 1842 | 1844 |
| 1843 void Assembler::sb(Register rd, const MemOperand& rs) { | 1845 void Assembler::sb(Register rd, const MemOperand& rs) { |
| 1844 if (is_int16(rs.offset_)) { | 1846 if (is_int16(rs.offset_)) { |
| 1845 GenInstrImmediate(SB, rs.rm(), rd, rs.offset_); | 1847 GenInstrImmediate(SB, rs.rm(), rd, rs.offset_); |
| 1846 } else { // Offset > 16 bits, use multiple instructions to store. | 1848 } else { // Offset > 16 bits, use multiple instructions to store. |
| 1847 LoadRegPlusOffsetToAt(rs); | 1849 LoadRegPlusOffsetToAt(rs); |
| 1848 GenInstrImmediate(SB, at, rd, 0); // Equiv to sb(rd, MemOperand(at, 0)); | 1850 GenInstrImmediate(SB, at, rd, 0); // Equiv to sb(rd, MemOperand(at, 0)); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1864 if (is_int16(rs.offset_)) { | 1866 if (is_int16(rs.offset_)) { |
| 1865 GenInstrImmediate(SW, rs.rm(), rd, rs.offset_); | 1867 GenInstrImmediate(SW, rs.rm(), rd, rs.offset_); |
| 1866 } else { // Offset > 16 bits, use multiple instructions to store. | 1868 } else { // Offset > 16 bits, use multiple instructions to store. |
| 1867 LoadRegPlusOffsetToAt(rs); | 1869 LoadRegPlusOffsetToAt(rs); |
| 1868 GenInstrImmediate(SW, at, rd, 0); // Equiv to sw(rd, MemOperand(at, 0)); | 1870 GenInstrImmediate(SW, at, rd, 0); // Equiv to sw(rd, MemOperand(at, 0)); |
| 1869 } | 1871 } |
| 1870 } | 1872 } |
| 1871 | 1873 |
| 1872 | 1874 |
| 1873 void Assembler::swl(Register rd, const MemOperand& rs) { | 1875 void Assembler::swl(Register rd, const MemOperand& rs) { |
| 1876 DCHECK(is_int16(rs.offset_)); |
| 1874 GenInstrImmediate(SWL, rs.rm(), rd, rs.offset_); | 1877 GenInstrImmediate(SWL, rs.rm(), rd, rs.offset_); |
| 1875 } | 1878 } |
| 1876 | 1879 |
| 1877 | 1880 |
| 1878 void Assembler::swr(Register rd, const MemOperand& rs) { | 1881 void Assembler::swr(Register rd, const MemOperand& rs) { |
| 1882 DCHECK(is_int16(rs.offset_)); |
| 1879 GenInstrImmediate(SWR, rs.rm(), rd, rs.offset_); | 1883 GenInstrImmediate(SWR, rs.rm(), rd, rs.offset_); |
| 1880 } | 1884 } |
| 1881 | 1885 |
| 1882 | 1886 |
| 1883 void Assembler::lui(Register rd, int32_t j) { | 1887 void Assembler::lui(Register rd, int32_t j) { |
| 1884 DCHECK(is_uint16(j)); | 1888 DCHECK(is_uint16(j)); |
| 1885 GenInstrImmediate(LUI, zero_reg, rd, j); | 1889 GenInstrImmediate(LUI, zero_reg, rd, j); |
| 1886 } | 1890 } |
| 1887 | 1891 |
| 1888 | 1892 |
| (...skipping 1266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3155 | 3159 |
| 3156 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { | 3160 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { |
| 3157 Assembler::FlushICache(isolate, pc, 2 * sizeof(int32_t)); | 3161 Assembler::FlushICache(isolate, pc, 2 * sizeof(int32_t)); |
| 3158 } | 3162 } |
| 3159 } | 3163 } |
| 3160 | 3164 |
| 3161 } // namespace internal | 3165 } // namespace internal |
| 3162 } // namespace v8 | 3166 } // namespace v8 |
| 3163 | 3167 |
| 3164 #endif // V8_TARGET_ARCH_MIPS | 3168 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |