39 lines
2.0 KiB
Diff
39 lines
2.0 KiB
Diff
|
diff -up firefox-64.0/build/moz.configure/toolchain.configure.1516081 firefox-64.0/build/moz.configure/toolchain.configure
|
||
|
--- firefox-64.0/build/moz.configure/toolchain.configure.1516081 2018-12-07 03:56:20.000000000 +0100
|
||
|
+++ firefox-64.0/build/moz.configure/toolchain.configure 2019-01-03 15:30:08.207368056 +0100
|
||
|
@@ -1304,7 +1304,7 @@ def pgo_flags(compiler, build_env, targe
|
||
|
|
||
|
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'],
|
||
|
@@ -1325,7 +1325,8 @@ def pgo_flags(compiler, build_env, targe
|
||
|
|
||
|
if gen_ldflags:
|
||
|
return namespace(
|
||
|
- gen_cflags=['-fprofile-instr-generate'],
|
||
|
+ gen_cflags=['-fprofile-instr-generate',
|
||
|
+ '-DMOZ_PROFILE_INSTRUMENTATION'],
|
||
|
gen_ldflags=gen_ldflags,
|
||
|
use_cflags=['-fprofile-instr-use=%s' % profdata,
|
||
|
'-Wno-error=profile-instr-out-of-date',
|
||
|
diff -up firefox-64.0/toolkit/components/terminator/nsTerminator.cpp.1516081 firefox-64.0/toolkit/components/terminator/nsTerminator.cpp
|
||
|
--- firefox-64.0/toolkit/components/terminator/nsTerminator.cpp.1516081 2019-01-03 15:30:08.207368056 +0100
|
||
|
+++ firefox-64.0/toolkit/components/terminator/nsTerminator.cpp 2019-01-03 15:31:33.445034029 +0100
|
||
|
@@ -441,6 +441,12 @@ 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.
|
||
|
+#ifdef MOZ_PROFILE_INSTRUMENTATION
|
||
|
+ crashAfterMS = INT32_MAX;
|
||
|
+#endif
|
||
|
|
||
|
UniquePtr<Options> options(new Options());
|
||
|
const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000);
|