[Webkit-unassigned] [Bug 194853] New: [JSC][x86] Drop support for x87 floating point

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 20 02:49:50 PST 2019


https://bugs.webkit.org/show_bug.cgi?id=194853

            Bug ID: 194853
           Summary: [JSC][x86] Drop support for x87 floating point
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: xan.lopez at gmail.com

A x86/32bit build (see bug #194147) fails a number of stress tests because of one-off rounding errors in floating point operations. This is caused by the use of extended precision FP registers, which is what x87 does unless told otherwise. We can work around this in a number of ways: forcing SSE2 for x86 at build time, forcing the use of double precision registers in x87, etc. After some digging up, though, it was noticed that other browsers are increasing their minimum requirements for intel hardware to pentium4/SSE2, as:

* Firefox: https://support.mozilla.org/en-US/kb/your-hardware-no-longer-supported
* Chrome: https://support.google.com/chrome/a/answer/7100626?hl=en

This simplifies our code, and intel hardware without SSE2 is in practice extremely rare. The following patch assumes SSE2 throughout the codebase, removes x87 support in certain places, and gets rid of a few obsolete comments. I have left in place SSE2 detection in MacroAssemblerX86 class, and required it through a static_assert. It's just a few lines of C++ code and it seems much easier than adding a lot of new CMake code to do the same thing.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190220/9eb8fd2d/attachment.html>


More information about the webkit-unassigned mailing list