mozilla-pgo.patch
branchfirefox85
changeset 1154 71a92b4d0527
parent 1152 4cfe46c9a944
child 1155 b8c834aafde2
--- a/mozilla-pgo.patch	Sun Jan 24 11:01:55 2021 +0100
+++ b/mozilla-pgo.patch	Thu Jan 28 23:39:24 2021 +0100
@@ -1,11 +1,11 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent  431962e810598b34327620fb99e06768e9a29c38
+# Parent  41df71ef2798d6bd6a67cfc4c4f26b8d41b8ccca
 
 diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
 --- a/build/moz.configure/lto-pgo.configure
 +++ b/build/moz.configure/lto-pgo.configure
-@@ -223,23 +223,23 @@ def lto(value, c_compiler, ld64_known_go
+@@ -235,23 +235,23 @@ def lto(
                  "configure."
              )
  
@@ -32,25 +32,6 @@
              # choose a poor default.  Rust compilation by default uses the
              # pentium4 CPU on x86:
              #
-@@ -263,17 +263,17 @@ def lto(value, c_compiler, ld64_known_go
-                 ldflags.append("-mllvm:-mcpu=x86-64")
-             # We do not need special flags for arm64.  Hooray for fixed-length
-             # instruction sets.
-         else:
-             num_cores = multiprocessing.cpu_count()
-             if len(value) and value[0].lower() == "full":
-                 cflags.append("-flto")
-             else:
--                cflags.append("-flto=thin")
-+                cflags.append("-flto")
-             cflags.append("-flifetime-dse=1")
- 
-             ldflags.append("-flto=%s" % num_cores)
-             ldflags.append("-flifetime-dse=1")
- 
-         # Tell LTO not to inline functions above a certain size, to mitigate
-         # binary size growth while still getting good performance.
-         # (For hot functions, PGO will put a multiplier on this limit.)
 diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
 --- a/build/pgo/profileserver.py
 +++ b/build/pgo/profileserver.py
@@ -173,35 +154,10 @@
      CXXFLAGS += ["-Wno-error=shadow"]
 +
 +CXXFLAGS += ['-fno-devirtualize']
-diff --git a/python/mozbuild/mozbuild/build_commands.py b/python/mozbuild/mozbuild/build_commands.py
---- a/python/mozbuild/mozbuild/build_commands.py
-+++ b/python/mozbuild/mozbuild/build_commands.py
-@@ -121,19 +121,18 @@ class Build(MachCommandBase):
-                 silent=not verbose,
-                 ensure_exit_code=False,
-                 append_env=append_env,
-             )
-             if status != 0:
-                 return status
- 
-             pgo_env = os.environ.copy()
--            pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get(
--                "LLVM_PROFDATA"
--            )
-+            if instr.config_environment.substs.get('CC_TYPE') != 'gcc':
-+                pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get("LLVM_PROFDATA")
-             pgo_env["JARLOG_FILE"] = mozpath.join(orig_topobjdir, "jarlog/en-US.log")
-             pgo_cmd = [
-                 instr.virtualenv_manager.python_path,
-                 mozpath.join(self.topsrcdir, "build/pgo/profileserver.py"),
-             ]
-             subprocess.check_call(
-                 pgo_cmd, cwd=instr.topobjdir, env=ensure_subprocess_env(pgo_env)
-             )
 diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp
 --- a/toolkit/components/terminator/nsTerminator.cpp
 +++ b/toolkit/components/terminator/nsTerminator.cpp
-@@ -413,16 +413,21 @@ void nsTerminator::StartWatchdog() {
+@@ -425,16 +425,21 @@ void nsTerminator::StartWatchdog() {
        // Defend against overflow
        crashAfterMS = INT32_MAX;
      } else {