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_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/globals.h" | 9 #include "src/globals.h" |
10 #include "src/mips64/assembler-mips64.h" | 10 #include "src/mips64/assembler-mips64.h" |
(...skipping 1260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1271 const Operand& right, Register overflow_dst, | 1271 const Operand& right, Register overflow_dst, |
1272 Register scratch); | 1272 Register scratch); |
1273 | 1273 |
1274 void DadduAndCheckForOverflow(Register dst, Register left, Register right, | 1274 void DadduAndCheckForOverflow(Register dst, Register left, Register right, |
1275 Register overflow_dst, Register scratch = at); | 1275 Register overflow_dst, Register scratch = at); |
1276 | 1276 |
1277 void DadduAndCheckForOverflow(Register dst, Register left, | 1277 void DadduAndCheckForOverflow(Register dst, Register left, |
1278 const Operand& right, Register overflow_dst, | 1278 const Operand& right, Register overflow_dst, |
1279 Register scratch); | 1279 Register scratch); |
1280 | 1280 |
| 1281 inline void DaddBranchOvf(Register dst, Register left, const Operand& right, |
| 1282 Label* overflow_label, Register scratch = at) { |
| 1283 DaddBranchOvf(dst, left, right, overflow_label, nullptr, scratch); |
| 1284 } |
| 1285 |
| 1286 inline void DaddBranchNoOvf(Register dst, Register left, const Operand& right, |
| 1287 Label* no_overflow_label, Register scratch = at) { |
| 1288 DaddBranchOvf(dst, left, right, nullptr, no_overflow_label, scratch); |
| 1289 } |
| 1290 |
| 1291 void DaddBranchOvf(Register dst, Register left, const Operand& right, |
| 1292 Label* overflow_label, Label* no_overflow_label, |
| 1293 Register scratch = at); |
| 1294 |
| 1295 void DaddBranchOvf(Register dst, Register left, Register right, |
| 1296 Label* overflow_label, Label* no_overflow_label, |
| 1297 Register scratch = at); |
| 1298 |
1281 void DsubuAndCheckForOverflow(Register dst, Register left, Register right, | 1299 void DsubuAndCheckForOverflow(Register dst, Register left, Register right, |
1282 Register overflow_dst, Register scratch = at); | 1300 Register overflow_dst, Register scratch = at); |
1283 | 1301 |
1284 void DsubuAndCheckForOverflow(Register dst, Register left, | 1302 void DsubuAndCheckForOverflow(Register dst, Register left, |
1285 const Operand& right, Register overflow_dst, | 1303 const Operand& right, Register overflow_dst, |
1286 Register scratch); | 1304 Register scratch); |
1287 | 1305 |
| 1306 inline void DsubBranchOvf(Register dst, Register left, const Operand& right, |
| 1307 Label* overflow_label, Register scratch = at) { |
| 1308 DsubBranchOvf(dst, left, right, overflow_label, nullptr, scratch); |
| 1309 } |
| 1310 |
| 1311 inline void DsubBranchNoOvf(Register dst, Register left, const Operand& right, |
| 1312 Label* no_overflow_label, Register scratch = at) { |
| 1313 DsubBranchOvf(dst, left, right, nullptr, no_overflow_label, scratch); |
| 1314 } |
| 1315 |
| 1316 void DsubBranchOvf(Register dst, Register left, const Operand& right, |
| 1317 Label* overflow_label, Label* no_overflow_label, |
| 1318 Register scratch = at); |
| 1319 |
| 1320 void DsubBranchOvf(Register dst, Register left, Register right, |
| 1321 Label* overflow_label, Label* no_overflow_label, |
| 1322 Register scratch = at); |
| 1323 |
1288 void BranchOnOverflow(Label* label, | 1324 void BranchOnOverflow(Label* label, |
1289 Register overflow_check, | 1325 Register overflow_check, |
1290 BranchDelaySlot bd = PROTECT) { | 1326 BranchDelaySlot bd = PROTECT) { |
1291 Branch(label, lt, overflow_check, Operand(zero_reg), bd); | 1327 Branch(label, lt, overflow_check, Operand(zero_reg), bd); |
1292 } | 1328 } |
1293 | 1329 |
1294 void BranchOnNoOverflow(Label* label, | 1330 void BranchOnNoOverflow(Label* label, |
1295 Register overflow_check, | 1331 Register overflow_check, |
1296 BranchDelaySlot bd = PROTECT) { | 1332 BranchDelaySlot bd = PROTECT) { |
1297 Branch(label, ge, overflow_check, Operand(zero_reg), bd); | 1333 Branch(label, ge, overflow_check, Operand(zero_reg), bd); |
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1853 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1889 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1854 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1890 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1855 #else | 1891 #else |
1856 #define ACCESS_MASM(masm) masm-> | 1892 #define ACCESS_MASM(masm) masm-> |
1857 #endif | 1893 #endif |
1858 | 1894 |
1859 } // namespace internal | 1895 } // namespace internal |
1860 } // namespace v8 | 1896 } // namespace v8 |
1861 | 1897 |
1862 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1898 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |