Changeset 199261 in webkit
- Timestamp:
- Apr 8, 2016 6:20:29 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r199257 r199261 1 2016-04-08 Guillaume Emont <guijemont@igalia.com> 2 3 MIPS: support Signed cond in branchTest32() 4 https://bugs.webkit.org/show_bug.cgi?id=156260 5 6 This is needed since r197688 makes use of it. 7 8 Reviewed by Mark Lam. 9 10 * assembler/MacroAssemblerMIPS.h: 11 (JSC::MacroAssemblerMIPS::branchTest32): 12 1 13 2016-04-08 Alex Christensen <achristensen@webkit.org> 2 14 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
r198981 r199261 1500 1500 Jump branchTest32(ResultCondition cond, RegisterID reg, RegisterID mask) 1501 1501 { 1502 ASSERT((cond == Zero) || (cond == NonZero) );1502 ASSERT((cond == Zero) || (cond == NonZero) || (cond == Signed)); 1503 1503 m_assembler.andInsn(cmpTempRegister, reg, mask); 1504 if (cond == Zero) 1504 switch (cond) { 1505 case Zero: 1505 1506 return branchEqual(cmpTempRegister, MIPSRegisters::zero); 1506 return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); 1507 case NonZero: 1508 return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); 1509 case Signed: 1510 m_assembler.slt(cmpTempRegister, cmpTempRegister, MIPSRegisters::zero); 1511 return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); 1512 default: 1513 RELEASE_ASSERT_NOT_REACHED(); 1514 } 1507 1515 } 1508 1516 1509 1517 Jump branchTest32(ResultCondition cond, RegisterID reg, TrustedImm32 mask = TrustedImm32(-1)) 1510 1518 { 1511 ASSERT((cond == Zero) || (cond == NonZero) );1519 ASSERT((cond == Zero) || (cond == NonZero) || (cond == Signed)); 1512 1520 if (mask.m_value == -1 && !m_fixedWidth) { 1513 if (cond == Zero) 1521 switch (cond) { 1522 case Zero: 1514 1523 return branchEqual(reg, MIPSRegisters::zero); 1515 return branchNotEqual(reg, MIPSRegisters::zero); 1524 case NonZero: 1525 return branchNotEqual(reg, MIPSRegisters::zero); 1526 case Signed: 1527 m_assembler.slt(cmpTempRegister, reg, MIPSRegisters::zero); 1528 return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); 1529 default: 1530 RELEASE_ASSERT_NOT_REACHED(); 1531 } 1516 1532 } 1517 1533 move(mask, immTempRegister);
Note: See TracChangeset
for help on using the changeset viewer.