Summary: | [Win] 32-bit JavaScriptCore should limit itself to the C loop | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Brent Fulgham <bfulgham> | ||||
Component: | JavaScriptCore | Assignee: | Brent Fulgham <bfulgham> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | benjamin, bfulgham, cmarcelo, commit-queue, mark.lam, msaboff, peavo, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | All | ||||||
Attachments: |
|
Description
Brent Fulgham
2014-10-01 10:29:54 PDT
Created attachment 239034 [details]
Patch
Comment on attachment 239034 [details]
Patch
r=me
Committed r174162: <http://trac.webkit.org/changeset/174162> Confirmed no regressions in JSC test runs with this change. Do we know which SSE2 instructions are used? Maybe we could rewrite the usage of those? (In reply to comment #6) > Do we know which SSE2 instructions are used? Maybe we could rewrite the usage of those? I believe the issue was the need to support IEEE floating point behavior. At one time, the Qt project had some code to use x86+math hacks to deliver similar support on non-SSE hardware, but that code probably got excised when they removed their port. Pragmatically, limiting JIT support to 64-bit is probably not the end of the world. Most people who care about performance are probably running 64-bit CPUs anyway. It would be great to re-enable the JIT for 32-bit in general, but people with specific performance needs can always build WebKit with the 32-bit JIT enabled for their own deployments. (In reply to comment #7) > (In reply to comment #6) > > Do we know which SSE2 instructions are used? Maybe we could rewrite the usage of those? > > I believe the issue was the need to support IEEE floating point behavior. At one time, the Qt project had some code to use x86+math hacks to deliver similar support on non-SSE hardware, but that code probably got excised when they removed their port. > > Pragmatically, limiting JIT support to 64-bit is probably not the end of the world. Most people who care about performance are probably running 64-bit CPUs anyway. It would be great to re-enable the JIT for 32-bit in general, but people with specific performance needs can always build WebKit with the 32-bit JIT enabled for their own deployments. Ok :) I also see that there are a number of ASSERT(isSSE2Present()) statements in MacroAssemblerX86Common.h which indicates where SSE2 is required. |