The Pale Moon Project - Custom-built and optimized Firefox browsers for Windows Operating Systems

[ <-- Back ]

CC bug 20111001

Speed regression with PGO/SSE2.

Reporters: n/a

Affects the following:

Builds: 7.0.

Cause: Compiler issues for the layout subsystem when using PGO combined with SSE2.

Details:
The linking phase of the layout engine causes instability in the compiler in some situations, causing code to be non-optimized or otherwise unstable or crashes the compiler altogether. This is (yet another) PGO compiler bug in MSVC :/

Solution:
Re-build, adjusting per-module optimization flags to less aggressive optimizations in part of the layout engine.

Implementation:
Pale Moon 7.0
Makefile edit in /layout/generic:
Replace CXXFLAGS with forced -O1 -GL, ignoring all other optimization flags.
Makefile edit in /layout/printing:
Add -GL- to CXXFLAGS, excluding it from PGO (not important anyway)

Pale Moon 8.0 - Updated patch to include all modules in PGO and disable the ugly replace hack.
Makefile edit in /layout:
Replace /O2 with /O1 for the entire layout subsystem. PGO will still compile for speed where needed
Remove SSE/SSE2 in /layout/style as it causes a compiler crash

[ <-- Back ]

Halloween theme art by Laura Bevon
Firefox, Mozilla Firefox and Mozilla are registered trademarks of the Mozilla Corporation.
Site and contents © 2009-2014 Moonchild Productions - All rights reserved
Pale Moon's distribution is subject to the following redistribution license