summaryrefslogtreecommitdiff
path: root/pgo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pgo.patch')
-rw-r--r--pgo.patch112
1 files changed, 0 insertions, 112 deletions
diff --git a/pgo.patch b/pgo.patch
deleted file mode 100644
index 13a445b..0000000
--- a/pgo.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-diff -up firefox-88.0/build/moz.configure/lto-pgo.configure.pgo firefox-88.0/build/moz.configure/lto-pgo.configure
---- firefox-88.0/build/moz.configure/lto-pgo.configure.pgo 2021-04-15 21:44:26.000000000 +0200
-+++ firefox-88.0/build/moz.configure/lto-pgo.configure 2021-04-19 13:45:00.240696430 +0200
-@@ -240,13 +240,13 @@ def lto(
- cflags.append("-flto")
- ldflags.append("-flto")
- else:
-- cflags.append("-flto=thin")
-- ldflags.append("-flto=thin")
-+ cflags.append("-flto")
-+ ldflags.append("-flto")
- elif c_compiler.type == "clang-cl":
- if len(value) and value[0].lower() == "full":
- cflags.append("-flto")
- else:
-- cflags.append("-flto=thin")
-+ cflags.append("-flto")
- # With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
- # AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
- cflags.append("-fuse-ld=lld")
-diff -up firefox-88.0/build/pgo/profileserver.py.pgo firefox-88.0/build/pgo/profileserver.py
---- firefox-88.0/build/pgo/profileserver.py.pgo 2021-04-15 21:44:26.000000000 +0200
-+++ firefox-88.0/build/pgo/profileserver.py 2021-04-19 13:45:00.240696430 +0200
-@@ -11,7 +11,7 @@ import glob
- import subprocess
-
- import mozcrash
--from mozbuild.base import MozbuildObject, BinaryNotFoundException
-+from mozbuild.base import MozbuildObject, BinaryNotFoundException, BuildEnvironmentNotFoundException
- from mozfile import TemporaryDirectory
- from mozhttpd import MozHttpd
- from mozprofile import FirefoxProfile, Preferences
-@@ -87,9 +87,22 @@ if __name__ == "__main__":
- locations = ServerLocations()
- locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
-
-- old_profraw_files = glob.glob("*.profraw")
-- for f in old_profraw_files:
-- os.remove(f)
-+ using_gcc = False
-+ try:
-+ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
-+ using_gcc = True
-+ except BuildEnvironmentNotFoundException:
-+ pass
-+
-+ if using_gcc:
-+ for dirpath, _, filenames in os.walk('.'):
-+ for f in filenames:
-+ if f.endswith('.gcda'):
-+ os.remove(os.path.join(dirpath, f))
-+ else:
-+ old_profraw_files = glob.glob('*.profraw')
-+ for f in old_profraw_files:
-+ os.remove(f)
-
- with TemporaryDirectory() as profilePath:
- # TODO: refactor this into mozprofile
-@@ -212,6 +225,10 @@ if __name__ == "__main__":
- print("Firefox exited successfully, but produced a crashreport")
- sys.exit(1)
-
-+ print('Copying profile data....')
-+ os.system('pwd');
-+ os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd ..; tar xf instrumented/profdata.tar.gz;');
-+
- llvm_profdata = env.get("LLVM_PROFDATA")
- if llvm_profdata:
- profraw_files = glob.glob("*.profraw")
-diff -up firefox-88.0/build/unix/mozconfig.unix.pgo firefox-88.0/build/unix/mozconfig.unix
---- firefox-88.0/build/unix/mozconfig.unix.pgo 2021-04-15 21:44:26.000000000 +0200
-+++ firefox-88.0/build/unix/mozconfig.unix 2021-04-19 13:45:00.240696430 +0200
-@@ -4,6 +4,15 @@ if [ -n "$FORCE_GCC" ]; then
- CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
- CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
-
-+ if [ -n "$MOZ_PGO" ]; then
-+ if [ -z "$USE_ARTIFACT" ]; then
-+ ac_add_options --enable-lto
-+ fi
-+ export AR="$topsrcdir/gcc/bin/gcc-ar"
-+ export NM="$topsrcdir/gcc/bin/gcc-nm"
-+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
-+ fi
-+
- # We want to make sure we use binutils and other binaries in the tooltool
- # package.
- mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
-diff -up firefox-88.0/extensions/spellcheck/src/moz.build.pgo firefox-88.0/extensions/spellcheck/src/moz.build
---- firefox-88.0/extensions/spellcheck/src/moz.build.pgo 2021-04-15 21:44:28.000000000 +0200
-+++ firefox-88.0/extensions/spellcheck/src/moz.build 2021-04-19 13:45:00.240696430 +0200
-@@ -31,3 +31,5 @@ EXPORTS.mozilla += [
-
- if CONFIG["CC_TYPE"] in ("clang", "gcc"):
- CXXFLAGS += ["-Wno-error=shadow"]
-+
-+CXXFLAGS += ['-fno-devirtualize']
-diff -up firefox-88.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-88.0/toolkit/components/terminator/nsTerminator.cpp
---- firefox-88.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2021-04-19 13:45:00.240696430 +0200
-+++ firefox-88.0/toolkit/components/terminator/nsTerminator.cpp 2021-04-19 13:46:01.144530790 +0200
-@@ -456,6 +456,11 @@ void nsTerminator::StartWatchdog() {
- }
- #endif
-
-+ // Disable watchdog for PGO train builds - writting profile information at
-+ // exit may take time and it is better to make build hang rather than
-+ // silently produce poorly performing binary.
-+ crashAfterMS = INT32_MAX;
-+
- UniquePtr<Options> options(new Options());
- const PRIntervalTime ticksDuration =
- PR_MillisecondsToInterval(HEARTBEAT_INTERVAL_MS);