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.

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 :/

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

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 ]

Site and contents © 2009-2017 Moonchild Productions - All rights reserved
Pale Moon is subject to the following licensing.
Policies: Cookies - User Content - Privacy.