Add build config option to disable startup cache precompilation.

This resolves #418.
This commit is contained in:
wolfbeast 2018-06-01 13:21:30 +02:00 • committed by Roy Tam
commit aad4417153
2 changed files with 26 additions and 9 deletions

View file

@ -4422,6 +4422,22 @@ MOZ_ARG_ENABLE_BOOL(debug-js-modules,
AC_SUBST(DEBUG_JS_MODULES) AC_SUBST(DEBUG_JS_MODULES)
dnl ========================================================
dnl = Don't precompile the startup cache
dnl ========================================================
MOZ_DISABLE_PRECOMPILED_STARTUPCACHE=
MOZ_ARG_DISABLE_BOOL(precompiled-startupcache,
[ --disable-precompiled-startupcache Don't precompile the startup cache ],
MOZ_DISABLE_PRECOMPILED_STARTUPCACHE=1,
MOZ_DISABLE_PRECOMPILED_STARTUPCACHE= )
if test -n "$MOZ_DISABLE_PRECOMPILED_STARTUPCACHE"; then
AC_DEFINE(MOZ_DISABLE_PRECOMPILED_STARTUPCACHE)
fi
AC_SUBST(MOZ_DISABLE_PRECOMPILED_STARTUPCACHE)
dnl ======================================================== dnl ========================================================
dnl = dnl =
dnl = Profiling and Instrumenting dnl = Profiling and Instrumenting

View file

@ -156,15 +156,16 @@ def precompile_cache(registry, source_path, gre_path, app_path):
extra_env['TSAN_OPTIONS'] = 'report_bugs=0' extra_env['TSAN_OPTIONS'] = 'report_bugs=0'
if buildconfig.substs.get('MOZ_ASAN'): if buildconfig.substs.get('MOZ_ASAN'):
extra_env['ASAN_OPTIONS'] = 'detect_leaks=0' extra_env['ASAN_OPTIONS'] = 'detect_leaks=0'
if launcher.launch(['xpcshell', '-g', gre_path, '-a', app_path, if buildconfig.substs.get('MOZ_DISABLE_PRECOMPILED_STARTUPCACHE') != '1':
'-f', os.path.join(os.path.dirname(__file__), if launcher.launch(['xpcshell', '-g', gre_path, '-a', app_path,
'precompile_cache.js'), '-f', os.path.join(os.path.dirname(__file__),
'-e', 'precompile_startupcache("resource://%s/");' 'precompile_cache.js'),
% resource], '-e', 'precompile_startupcache("resource://%s/");'
extra_linker_path=gre_path, % resource],
extra_env=extra_env): extra_linker_path=gre_path,
errors.fatal('Error while running startup cache precompilation') extra_env=extra_env):
return errors.fatal('Error while running startup cache precompilation')
return
from mozpack.mozjar import JarReader from mozpack.mozjar import JarReader
jar = JarReader(cache) jar = JarReader(cache)
resource = '/resource/%s/' % resource resource = '/resource/%s/' % resource