Closed Bug 564511 Opened 14 years ago Closed 2 years ago

pass pgo flags down to NSS

Categories

(Firefox Build System :: General, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: taras.mozilla, Unassigned)

References

Details

Attachments

(2 files)

      No description provided.
Assignee: nobody → ted.mielczarek
I spun the NSPR changes off to bug 564851, since I'm actually patching NSPR there. For NSS we'll probably just be passing extra CFLAGS/LDFLAGS down via the Mozilla Makefile that builds NSS.
Summary: pass pgo flags down to nss/nspr → pass pgo flags down to NSS
This turns out to be hard to do correctly, because there's no simple way to pass down CFLAGS/LDFLAGS without overwriting NSS' defaults.
Blocks: 561842
Assignee: ted.mielczarek → nobody
(In reply to Ted Mielczarek [:ted, :luser] from comment #2)
> This turns out to be hard to do correctly, because there's no simple way to
> pass down CFLAGS/LDFLAGS without overwriting NSS' defaults.

If we need NSS to be built PGO-optimized, then we must add PGO support to NSS's build system, like we did for NSPR. In particular, we need to do this so that we can have NSS's automated tests run in the PGO configuration. (NSS's automated tests do NOT run as part of our test suite.) I can do this as part of adding a new static build configuration for NSS.

However, I am not sure *why* we want to PGO-optimize all of NSS, since NSS is almost completely unused during profile gathering. I am not sure how to deal with that.
We could fairly easily add loading an SSL page to the profiling suite using ssltunnel, which we use for Mochitest. I'm not sure how much else of NSS the average Firefox user would use, but SSL definitely seems worthwhile.
Because NSS3.dll build changes, there is an easy method to apply PGO to NSS3.dll
And NSS3.dll merge nspr and sqlite module, so PGO may be effective on somewhere.

I test it on MSVC compiler, which works well on Windows.

And I also have another workaround patch to apply PGO to freebl3.dll, nssckbi.dll, nssdbm3.dll and softokn3.dll, but after using the special PGO patch, firefox doesn't work well. If you also need it, I can paste follow the bug, too.
Maybe someone can change Platform from x86 Linux to All?
Attached patch Add -GL to NSS3Splinter Review
MSVC PGO needs -GL. I forgot whether nss3 module accept PROFILE CFLAGS, so I hack the Makefile directly.
OS: Linux → All
Product: Core → Firefox Build System

This was fixed when we switched to use the NSS gyp build system a few years ago.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: