WebKit Bugzilla
Attachment 359788 Details for
Bug 193689
: [ARM] Check for negative zero instead of just zero
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193689-20190123001653.patch (text/plain), 1.98 KB, created by
Dominik Inführ
on 2019-01-22 15:16:55 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Dominik Inführ
Created:
2019-01-22 15:16:55 PST
Size:
1.98 KB
patch
obsolete
>Subversion Revision: 240251 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 2a79df418a2eb5fffbcc4a0e4d0f54b05438e07c..8a4a60cb8b5808252bb42e198883298f89705045 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,16 @@ >+2019-01-22 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ [ARM] Check for negative zero instead of just zero >+ https://bugs.webkit.org/show_bug.cgi?id=193689 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ ARM now performs a negative zero check in branchConvertDoubleToInt32 instead >+ of just bailing out for zero. >+ >+ * assembler/MacroAssemblerARMv7.h: >+ (JSC::MacroAssemblerARMv7::branchConvertDoubleToInt32): >+ > 2019-01-21 Yusuke Suzuki <ysuzuki@apple.com> > > Unreviewed, roll out r240220 due to date-format-xparb regression >diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h >index 197496a2276a982773ab2c56e0b249455cabd051..829aaeea62c35d1b296e70290d70e4c78630d04e 100644 >--- a/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h >+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h >@@ -1252,9 +1252,13 @@ public: > m_assembler.vcvt_signedToFloatingPoint(fpTempRegister, fpTempRegisterAsSingle()); > failureCases.append(branchDouble(DoubleNotEqualOrUnordered, src, fpTempRegister)); > >- // If the result is zero, it might have been -0.0, and the double comparison won't catch this! >- if (negZeroCheck) >- failureCases.append(branchTest32(Zero, dest)); >+ // Test for negative zero. >+ if (negZeroCheck) { >+ Jump valueIsNonZero = branchTest32(NonZero, dest); >+ m_assembler.vmov(dataTempRegister, fpTempRegisterAsSingle()); >+ failureCases.append(branch32(LessThan, dataTempRegister, TrustedImm32(0))); >+ valueIsNonZero.link(this); >+ } > } > > Jump branchDoubleNonZero(FPRegisterID reg, FPRegisterID)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193689
:
359788
|
359807
|
359866