Changeset 240650 in webkit for trunk/Source/JavaScriptCore
- Timestamp:
- Jan 29, 2019, 2:41:27 AM (6 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r240644 r240650 1 2019-01-29 Dominik Infuehr <[email protected]> 2 3 [ARM] Check for negative zero instead of just zero 4 https://bugs.webkit.org/show_bug.cgi?id=193689 5 6 Reviewed by Mark Lam. 7 8 ARM now performs a negative zero check in branchConvertDoubleToInt32 instead 9 of just bailing out for zero. 10 11 * assembler/MacroAssemblerARMv7.h: 12 (JSC::MacroAssemblerARMv7::branchConvertDoubleToInt32): 13 1 14 2019-01-28 Devin Rousso <[email protected]> 2 15 -
trunk/Source/JavaScriptCore/assembler/ARMv7Assembler.h
r237266 r240650 171 171 ASSERT(reg < d16); 172 172 return (FPSingleRegisterID)(reg << 1); 173 } 174 175 inline FPSingleRegisterID asSingleUpper(FPDoubleRegisterID reg) 176 { 177 ASSERT(reg < d16); 178 return (FPSingleRegisterID)((reg << 1) + 1); 173 179 } 174 180 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
r238543 r240650 1253 1253 failureCases.append(branchDouble(DoubleNotEqualOrUnordered, src, fpTempRegister)); 1254 1254 1255 // If the result is zero, it might have been -0.0, and the double comparison won't catch this! 1256 if (negZeroCheck) 1257 failureCases.append(branchTest32(Zero, dest)); 1255 // Test for negative zero. 1256 if (negZeroCheck) { 1257 Jump valueIsNonZero = branchTest32(NonZero, dest); 1258 m_assembler.vmov(dataTempRegister, ARMRegisters::asSingleUpper(src)); 1259 failureCases.append(branch32(LessThan, dataTempRegister, TrustedImm32(0))); 1260 valueIsNonZero.link(this); 1261 } 1258 1262 } 1259 1263
Note:
See TracChangeset
for help on using the changeset viewer.