Changeset 286424 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
- Timestamp:
- Dec 2, 2021, 6:26:22 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
r286155 r286424 1322 1322 void loadPair32(RegisterID src, TrustedImm32 offset, RegisterID dest1, RegisterID dest2) 1323 1323 { 1324 loadPair32(Address(src, offset.m_value), dest1, dest2); 1325 } 1326 1327 void loadPair32(Address address, RegisterID dest1, RegisterID dest2) 1328 { 1324 1329 ASSERT(dest1 != dest2); // If it is the same, ldp becomes illegal instruction. 1325 if (src == dest1) { 1326 load32(Address(src, offset.m_value + 4), dest2); 1327 load32(Address(src, offset.m_value), dest1); 1328 } else { 1329 load32(Address(src, offset.m_value), dest1); 1330 load32(Address(src, offset.m_value + 4), dest2); 1330 if (address.base == dest1) { 1331 load32(address.withOffset(4), dest2); 1332 load32(address, dest1); 1333 } else { 1334 load32(address, dest1); 1335 load32(address.withOffset(4), dest2); 1336 } 1337 } 1338 1339 void loadPair32(BaseIndex address, RegisterID dest1, RegisterID dest2) 1340 { 1341 if (address.base == dest1 || address.index == dest1) { 1342 RELEASE_ASSERT(address.base != dest2); 1343 RELEASE_ASSERT(address.index != dest2); 1344 1345 load32(address.withOffset(4), dest2); 1346 load32(address, dest1); 1347 } else { 1348 load32(address, dest1); 1349 load32(address.withOffset(4), dest2); 1331 1350 } 1332 1351 } … … 1632 1651 void storePair32(RegisterID src1, RegisterID src2, RegisterID dest, TrustedImm32 offset) 1633 1652 { 1634 store32(src1, Address(dest, offset.m_value)); 1635 store32(src2, Address(dest, offset.m_value + 4)); 1653 storePair32(src1, src2, Address(dest, offset.m_value)); 1654 } 1655 1656 void storePair32(RegisterID src1, RegisterID src2, Address address) 1657 { 1658 store32(src1, address); 1659 store32(src2, address.withOffset(4)); 1660 } 1661 1662 void storePair32(RegisterID src1, RegisterID src2, BaseIndex address) 1663 { 1664 store32(src1, address); 1665 store32(src2, address.withOffset(4)); 1636 1666 } 1637 1667
Note:
See TracChangeset
for help on using the changeset viewer.