Open Bug 1277320 Opened 3 years ago Updated 2 years ago
Get GTests working on Windows PGO builds
GTests on Windows PGO builds are currently broken and hidden on Treeherder. My understanding is that this was an intentional decision made to avoid lengthening the already-long PGO build times due to having to link everything twice. The big trade-off to this decision is that it leaves us with effectively zero Windows opt GTest coverage on the release branches. On the builds that go out to 90+% of our users. Which seems like a Bad thing. Now that we've clawed back a lot of PGO build time wins, I think we should revisit the earlier decision and consider re-enabling them.
I'm not entirely sure this will be useful, to be honest. The problem is that xul.dll and xul-gtest.dll *are not the same binary*. When we re-link xul.dll using the profiling info, we can't use that same profiling info to re-link xul-gtest.dll, it's just not valid for that binary. That means that we'd wind up re-linking xul-gtest.dll and generating different code than exists in xul.dll, so the tests wouldn't actually test anything meaningful anyway. Unfortunately this is a hard problem and I don't know a way to solve it.
For perpetuity's sake, it may be worth trying to get MSVC to use the xul.pgd files for xul-gtest.dll. https://msdn.microsoft.com/en-us/library/438sd1tf.aspx Not sure if that'd actually work in practice, but in theory that would at least give us reasonably-comparable end results for both DLLs.
You need to log in before you can comment on or make changes to this bug.