2019-08-29 08:44:36 +00:00
|
|
|
diff -up firefox-69.0/build/moz.configure/toolchain.configure.1516081 firefox-69.0/build/moz.configure/toolchain.configure
|
|
|
|
--- firefox-69.0/build/moz.configure/toolchain.configure.1516081 2019-08-27 03:31:51.000000000 +0200
|
|
|
|
+++ firefox-69.0/build/moz.configure/toolchain.configure 2019-08-29 10:42:45.872919255 +0200
|
|
|
|
@@ -1411,7 +1411,7 @@ def pgo_flags(compiler, build_env, targe
|
2019-01-03 14:35:59 +00:00
|
|
|
|
|
|
|
if compiler.type == 'gcc':
|
|
|
|
return namespace(
|
|
|
|
- gen_cflags=['-fprofile-generate'],
|
|
|
|
+ gen_cflags=['-fprofile-generate', '-DMOZ_PROFILE_INSTRUMENTATION'],
|
|
|
|
gen_ldflags=['-fprofile-generate'],
|
|
|
|
use_cflags=['-fprofile-use', '-fprofile-correction',
|
|
|
|
'-Wcoverage-mismatch'],
|
2019-08-29 08:44:36 +00:00
|
|
|
@@ -1434,7 +1434,8 @@ def pgo_flags(compiler, build_env, targe
|
2019-01-03 14:35:59 +00:00
|
|
|
|
|
|
|
if gen_ldflags:
|
|
|
|
return namespace(
|
2019-08-29 08:44:36 +00:00
|
|
|
- gen_cflags=[prefix + '-fprofile-generate'],
|
|
|
|
+ gen_cflags=[prefix + '-fprofile-generate',
|
2019-01-03 14:35:59 +00:00
|
|
|
+ '-DMOZ_PROFILE_INSTRUMENTATION'],
|
|
|
|
gen_ldflags=gen_ldflags,
|
2019-08-29 08:44:36 +00:00
|
|
|
use_cflags=[prefix + '-fprofile-use=%s' % profdata,
|
|
|
|
# Some error messages about mismatched profile data
|
|
|
|
diff -up firefox-69.0/toolkit/components/terminator/nsTerminator.cpp.1516081 firefox-69.0/toolkit/components/terminator/nsTerminator.cpp
|
|
|
|
--- firefox-69.0/toolkit/components/terminator/nsTerminator.cpp.1516081 2019-08-27 03:32:05.000000000 +0200
|
|
|
|
+++ firefox-69.0/toolkit/components/terminator/nsTerminator.cpp 2019-08-29 09:51:08.513440687 +0200
|
2019-01-28 13:53:26 +00:00
|
|
|
@@ -419,6 +419,12 @@ void nsTerminator::StartWatchdog() {
|
2019-01-03 14:35:59 +00:00
|
|
|
}
|
|
|
|
}
|
2019-01-28 13:53:26 +00:00
|
|
|
#endif
|
2019-01-03 14:35:59 +00:00
|
|
|
+ // 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.
|
|
|
|
+#ifdef MOZ_PROFILE_INSTRUMENTATION
|
|
|
|
+ crashAfterMS = INT32_MAX;
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
UniquePtr<Options> options(new Options());
|
|
|
|
const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000);
|