Closed Bug 675568 Opened 8 years ago Closed 8 years ago

SIMD of libjpeg turbo is disabled on Windows


(Firefox Build System :: General, defect)

Windows Vista
Not set


(firefox5 unaffected, firefox6+ fixed, firefox7+ fixed, firefox8+ fixed)

Tracking Status
firefox5 --- unaffected
firefox6 + fixed
firefox7 + fixed
firefox8 + fixed


(Reporter: m_kato, Assigned: m_kato)



(Keywords: regression, Whiteboard: [qa-])


(2 files, 1 obsolete file)

SKIP_LIBRARY_CHECKS is "yes" on Windows, so SIMD of libjpeg turbo is turned off.  We should turn on.
Attached patch fix (obsolete) — Splinter Review
Attachment #549720 - Flags: review?(khuey)
Component: ImageLib → Build Config
QA Contact: imagelib → build-config
Keywords: regression
Blocks: 652399
Do we have any idea when this changed?
(In reply to comment #2)
> Do we have any idea when this changed?

According to Bug 652399, for Gecko 6.
Setting tracking-? for FF6-8.  This is a major (factor of 2?) jpeg decoding regression.  This matters particularly much now that we aggressively discard images in background tabs.

Risk of taking this even on beta is low, because we had libjpeg-turbo enabled in FF4 and FF5.
Comment on attachment 549720 [details] [diff] [review]

We should fix this by moving the added check down to the libjpeg-turbo section.

We should also make it so that ./configure --with-system-jpeg --enable-libjpeg-turbo errors out.
Attachment #549720 - Flags: review?(khuey) → review-
I backed out bug 652399 on beta:

I didn't back out on Aurora, so we'll want to take this fix on Aurora.
The push from comment 6 was to the relbranch, not the default branch. Properly backed out on beta:
Attached patch fix v2Splinter Review
Attachment #549720 - Attachment is obsolete: true
Attachment #550975 - Flags: review?(khuey)
Comment on attachment 550975 [details] [diff] [review]
fix v2

>@@ -6317,16 +6316,20 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
>+    if test "$SYSTEM_JPEG" = 1; then
>+        AC_MSG_ERROR([cannot use --with-system-jpeg with --enable-libjpeg-turbo.])
>+    fi

I think this should be right after the MOZ_ARG_DISABLE_BOOL for libjpeg-turbo.

r=me with that.
Attachment #550975 - Flags: review?(khuey) → review+
landed with khuey's comment
Whiteboard: [inbound]
Attached patch for auroraSplinter Review
Attachment #551389 - Flags: approval-mozilla-aurora?
Closed: 8 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
Attachment #551389 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Mozilla/5.0 (Windows NT 5.1; rv:7.0) Gecko/20100101 Firefox/7.0

Can anyone please help me with a test case or with STR / guidelines that I can use to verify this fix?

Find a very large JPEG image (not a solid color).  Load it in a tab.  In a new tab, load about:memory and click "minimize memory usage" -- this should cause the image to be discarded.  Now switch back to the tab with the image.  Time with a stopwatch how long it takes before the image is displayed onscreen.  It should be significantly faster after this change than before.

Alternatively, you could profile a release build under a workload which spends most of its time decoding JPEGs, and examine the stack traces to see whether it's spending time in C or ASM routines.

You could also run a build in a debugger and see whether it's spending time in an ASM routine, executing SSE2 code.
qa- as no QA fix verification needed
Whiteboard: [qa-]
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.