2016-07-14 16:16:42 +00:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
2013-02-25 21:20:02 +00:00
|
|
|
# vim: set filetype=python:
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
|
2013-03-12 17:17:46 +00:00
|
|
|
XPIDL_SOURCES += [
|
|
|
|
'nsIConsoleListener.idl',
|
|
|
|
'nsIConsoleMessage.idl',
|
|
|
|
'nsIConsoleService.idl',
|
|
|
|
'nsICycleCollectorListener.idl',
|
|
|
|
'nsIDebug2.idl',
|
|
|
|
'nsIErrorService.idl',
|
|
|
|
'nsIException.idl',
|
|
|
|
'nsIGZFileWriter.idl',
|
|
|
|
'nsIInterfaceRequestor.idl',
|
|
|
|
'nsIMemory.idl',
|
|
|
|
'nsIMemoryInfoDumper.idl',
|
|
|
|
'nsIMemoryReporter.idl',
|
|
|
|
'nsIMessageLoop.idl',
|
2013-07-26 15:37:02 +00:00
|
|
|
'nsISecurityConsoleMessage.idl',
|
2013-03-12 17:17:46 +00:00
|
|
|
'nsISupports.idl',
|
|
|
|
'nsIUUIDGenerator.idl',
|
|
|
|
'nsIVersionComparator.idl',
|
|
|
|
'nsIWeakReference.idl',
|
|
|
|
'nsrootidl.idl',
|
|
|
|
]
|
|
|
|
|
2013-03-12 17:20:41 +00:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
|
|
XPIDL_SOURCES += [
|
2018-09-28 03:08:07 +00:00
|
|
|
'nsIMacPreferencesReader.idl',
|
2013-03-12 17:20:41 +00:00
|
|
|
'nsIMacUtils.idl',
|
|
|
|
]
|
2015-07-28 22:45:34 +00:00
|
|
|
EXPORTS.mozilla += [
|
|
|
|
'MacHelpers.h',
|
2018-03-26 07:49:02 +00:00
|
|
|
'MacStringHelpers.h',
|
2018-09-28 03:08:07 +00:00
|
|
|
'nsMacPreferencesReader.h',
|
2015-07-28 22:45:34 +00:00
|
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'MacHelpers.mm',
|
2018-03-26 07:49:02 +00:00
|
|
|
'MacStringHelpers.mm',
|
2018-09-28 03:08:07 +00:00
|
|
|
'nsMacPreferencesReader.mm',
|
2015-07-28 22:45:34 +00:00
|
|
|
]
|
2013-03-12 17:20:41 +00:00
|
|
|
|
2013-03-12 05:00:00 +00:00
|
|
|
XPIDL_MODULE = 'xpcom_base'
|
|
|
|
|
2018-12-19 04:28:14 +00:00
|
|
|
XPCOM_MANIFESTS += [
|
|
|
|
'components.conf',
|
|
|
|
]
|
|
|
|
|
2013-04-16 19:24:43 +00:00
|
|
|
EXPORTS += [
|
2017-03-30 18:13:01 +00:00
|
|
|
'!ErrorList.h',
|
|
|
|
'!ErrorNamesInternal.h',
|
2014-07-31 23:39:25 +00:00
|
|
|
'CodeAddressService.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'nsAgg.h',
|
2015-03-10 23:41:38 +00:00
|
|
|
'nsAlgorithm.h',
|
2013-07-01 21:24:53 +00:00
|
|
|
'nsAutoPtr.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'nsAutoRef.h',
|
|
|
|
'nsCom.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsCOMPtr.h',
|
2013-10-23 23:05:43 +00:00
|
|
|
'nscore.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsCRTGlue.h',
|
|
|
|
'nsCycleCollectionNoteChild.h',
|
|
|
|
'nsCycleCollectionNoteRootCallback.h',
|
|
|
|
'nsCycleCollectionParticipant.h',
|
|
|
|
'nsCycleCollectionTraversalCallback.h',
|
2013-07-01 21:24:53 +00:00
|
|
|
'nsCycleCollector.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsDebug.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'nsDebugImpl.h',
|
2015-06-04 06:47:09 +00:00
|
|
|
'nsDumpUtils.h',
|
2013-07-01 21:24:53 +00:00
|
|
|
'nsError.h',
|
2018-11-04 20:12:41 +00:00
|
|
|
'nsErrorService.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'nsGZFileWriter.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsIClassInfoImpl.h',
|
|
|
|
'nsID.h',
|
|
|
|
'nsIInterfaceRequestorUtils.h',
|
|
|
|
'nsINIParser.h',
|
2013-10-23 23:05:43 +00:00
|
|
|
'nsInterfaceRequestorAgg.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'nsISizeOf.h',
|
2013-07-01 21:24:53 +00:00
|
|
|
'nsISupportsBase.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsISupportsImpl.h',
|
|
|
|
'nsISupportsUtils.h',
|
|
|
|
'nsIWeakReferenceUtils.h',
|
2018-11-16 09:39:36 +00:00
|
|
|
'nsMaybeWeakPtr.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsMemory.h',
|
2013-07-01 21:24:53 +00:00
|
|
|
'nsObjCExceptions.h',
|
2015-04-15 16:47:03 +00:00
|
|
|
'nsQueryObject.h',
|
Create a PaintWorker thread pool and dispatch tiles to it (bug 1425056, r=bas)
This commit adds a paint worker thread pool to PaintThread, and dispatches
tiled paints to it. The thread pool is only created if tiling is enabled,
and its size is set by 'layers.omtp.paint-workers' and defaults to 1. If
-1 is specified, it will be sized to 'max((cpu_cores * 3) / 4, 1)'.
The one tricky part of dispatching tiled paints to a thread pool is the
AsyncEndLayerTransaction message that must execute once all paints are
finished. Previously, this runnable would be queued after all the paints
had been queued, ensuring it would be run after they had all completed.
With a thread pool, there is no guarantee. Instead this commit, uses
a flag on CompositorBridgeChild to signify whether all of the paints
have been queued ('mOutstandingAsyncEndLayerTransaction'), and after
every tiled paint it is examined to see if that paint was the last
paint, and if it is to run AsyncEndLayerTransaction. In addition,
if the async paints complete before we even mark the end of the
layer transaction, we queue it like normal.
The profiler markers are also complicated by using a thread pool.
I don't know of a great way to keep them working as they are per
thread, so for now I've removed them. I may have been the only
one using them anyway.
MozReview-Commit-ID: 5LIJ9GWSfCn
--HG--
extra : rebase_source : 0c26806f337a1b4b1511945f9c72e787b426c5ba
2017-12-08 07:18:05 +00:00
|
|
|
'nsSystemInfo.h',
|
2014-02-26 21:36:36 +00:00
|
|
|
'nsTraceRefcnt.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsVersionComparator.h',
|
|
|
|
'nsWeakReference.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
]
|
|
|
|
|
2013-07-01 21:24:53 +00:00
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
|
|
EXPORTS += [
|
|
|
|
'nsWindowsHelpers.h',
|
|
|
|
]
|
2018-06-25 18:01:39 +00:00
|
|
|
if CONFIG['CC_TYPE'] not in ('gcc', 'clang'):
|
2017-11-17 00:59:51 +00:00
|
|
|
OS_LIBS += [
|
|
|
|
'wscapi',
|
|
|
|
]
|
2013-07-01 21:24:53 +00:00
|
|
|
|
2013-04-16 19:24:43 +00:00
|
|
|
EXPORTS.mozilla += [
|
Bug 1606880 - Implement fast shutdown prefs r=froydnj
I originally had this as a few patches, but the work to fix test
failures and get the whole thing into a complete working state
quickly tangled them up. Apologies for that. To summarize what's
going on here, however:
- We introduce two prefs: shutdown.fastShutdownStage and
shutdown.lateWriteChecksStage. The latter pref is set to 1, which
will leave the existing late write checking behavior unchanged.
However, we introduce this pref to make it simpler in the future
to bump the late write checks window earlier in the shutdown cycle.
- We introduce an AppShutdown class, which will house static methods
and a small amount of state for unifying some shutdown logic. Most
importantly, it will now manage the state for app initiated restarts,
as well as the logic for performing a safe fast shutdown.
- We refactored the existing restart code to call into the new
AppShutdown file, so that if we are configured to actually perform
a fast shutdown, we will be able to run the necessary restart logic
immediately before doing so. Previously, the restart logic occurred
later in the shutdown cycle than our late write checking, meaning
if we were to simply exit the process at that point in time, we
would never run the restart coe.
- Lastly, we updated two locations which called TerminateProcess and/or
_exit(0) to call into the AppShutdown method (DoFastShutdown).
Differential Revision: https://phabricator.services.mozilla.com/D59196
--HG--
extra : moz-landing-system : lando
2020-01-29 12:29:43 +00:00
|
|
|
'AppShutdown.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'AutoRestore.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'AvailableMemoryTracker.h',
|
|
|
|
'ClearOnShutdown.h',
|
2014-08-25 19:34:00 +00:00
|
|
|
'CountingAllocatorBase.h',
|
2016-09-14 13:47:32 +00:00
|
|
|
'CycleCollectedJSContext.h',
|
2017-02-23 21:23:45 +00:00
|
|
|
'CycleCollectedJSRuntime.h',
|
2013-11-05 14:16:25 +00:00
|
|
|
'Debug.h',
|
2015-04-22 16:43:02 +00:00
|
|
|
'DebuggerOnGCRunnable.h',
|
2015-03-18 18:36:03 +00:00
|
|
|
'DeferredFinalize.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'EnumeratedArrayCycleCollection.h',
|
2014-10-20 11:09:00 +00:00
|
|
|
'ErrorNames.h',
|
2019-02-11 18:03:12 +00:00
|
|
|
'GkRustUtils.h',
|
2015-03-10 23:41:38 +00:00
|
|
|
'HoldDropJSObjects.h',
|
2017-01-23 14:24:01 +00:00
|
|
|
'IntentionalCrash.h',
|
2015-07-21 18:31:44 +00:00
|
|
|
'JSObjectHolder.h',
|
2015-10-19 19:22:11 +00:00
|
|
|
'Logging.h',
|
2018-07-17 20:09:45 +00:00
|
|
|
'MemoryInfo.h',
|
2018-07-14 09:20:55 +00:00
|
|
|
'MemoryMapping.h',
|
2017-01-27 00:35:54 +00:00
|
|
|
'MemoryReportingProcess.h',
|
2018-12-05 20:44:53 +00:00
|
|
|
'MemoryTelemetry.h',
|
2013-10-23 23:05:43 +00:00
|
|
|
'nsMemoryInfoDumper.h',
|
2017-03-06 16:42:31 +00:00
|
|
|
'NSPRLogModulesParser.h',
|
2015-08-05 12:28:27 +00:00
|
|
|
'OwningNonNull.h',
|
Bug 1606880 - Implement fast shutdown prefs r=froydnj
I originally had this as a few patches, but the work to fix test
failures and get the whole thing into a complete working state
quickly tangled them up. Apologies for that. To summarize what's
going on here, however:
- We introduce two prefs: shutdown.fastShutdownStage and
shutdown.lateWriteChecksStage. The latter pref is set to 1, which
will leave the existing late write checking behavior unchanged.
However, we introduce this pref to make it simpler in the future
to bump the late write checks window earlier in the shutdown cycle.
- We introduce an AppShutdown class, which will house static methods
and a small amount of state for unifying some shutdown logic. Most
importantly, it will now manage the state for app initiated restarts,
as well as the logic for performing a safe fast shutdown.
- We refactored the existing restart code to call into the new
AppShutdown file, so that if we are configured to actually perform
a fast shutdown, we will be able to run the necessary restart logic
immediately before doing so. Previously, the restart logic occurred
later in the shutdown cycle than our late write checking, meaning
if we were to simply exit the process at that point in time, we
would never run the restart coe.
- Lastly, we updated two locations which called TerminateProcess and/or
_exit(0) to call into the AppShutdown method (DoFastShutdown).
Differential Revision: https://phabricator.services.mozilla.com/D59196
--HG--
extra : moz-landing-system : lando
2020-01-29 12:29:43 +00:00
|
|
|
'ShutdownPhase.h',
|
2017-07-28 10:10:04 +00:00
|
|
|
'SizeOfState.h',
|
2019-08-02 17:26:37 +00:00
|
|
|
'StaticLocalPtr.h',
|
2018-06-29 22:27:22 +00:00
|
|
|
'StaticMonitor.h',
|
2013-05-24 17:10:47 +00:00
|
|
|
'StaticMutex.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
'StaticPtr.h',
|
2018-08-20 00:43:29 +00:00
|
|
|
'TupleCycleCollection.h',
|
2013-04-16 19:24:43 +00:00
|
|
|
]
|
|
|
|
|
2019-08-21 17:23:03 +00:00
|
|
|
SOURCES += [
|
2013-12-10 17:26:53 +00:00
|
|
|
# nsDebugImpl isn't unified because we disable PGO so that NS_ABORT_OOM isn't
|
|
|
|
# optimized away oddly.
|
|
|
|
'nsDebugImpl.cpp',
|
2019-08-21 17:23:03 +00:00
|
|
|
# nsDumpUtils.cpp includes SpecialSystemDirectory.h which includes
|
|
|
|
# nsLocalFileMac.h which upsets other files in this dir that have a different
|
|
|
|
# idea about what `TextRange` means.
|
|
|
|
'nsDumpUtils.cpp',
|
2013-12-10 17:26:53 +00:00
|
|
|
]
|
2013-12-09 04:39:26 +00:00
|
|
|
SOURCES['nsDebugImpl.cpp'].no_pgo = True
|
2013-12-10 17:26:53 +00:00
|
|
|
|
2013-11-19 02:34:00 +00:00
|
|
|
UNIFIED_SOURCES += [
|
Bug 1606880 - Implement fast shutdown prefs r=froydnj
I originally had this as a few patches, but the work to fix test
failures and get the whole thing into a complete working state
quickly tangled them up. Apologies for that. To summarize what's
going on here, however:
- We introduce two prefs: shutdown.fastShutdownStage and
shutdown.lateWriteChecksStage. The latter pref is set to 1, which
will leave the existing late write checking behavior unchanged.
However, we introduce this pref to make it simpler in the future
to bump the late write checks window earlier in the shutdown cycle.
- We introduce an AppShutdown class, which will house static methods
and a small amount of state for unifying some shutdown logic. Most
importantly, it will now manage the state for app initiated restarts,
as well as the logic for performing a safe fast shutdown.
- We refactored the existing restart code to call into the new
AppShutdown file, so that if we are configured to actually perform
a fast shutdown, we will be able to run the necessary restart logic
immediately before doing so. Previously, the restart logic occurred
later in the shutdown cycle than our late write checking, meaning
if we were to simply exit the process at that point in time, we
would never run the restart coe.
- Lastly, we updated two locations which called TerminateProcess and/or
_exit(0) to call into the AppShutdown method (DoFastShutdown).
Differential Revision: https://phabricator.services.mozilla.com/D59196
--HG--
extra : moz-landing-system : lando
2020-01-29 12:29:43 +00:00
|
|
|
'AppShutdown.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'AvailableMemoryTracker.cpp',
|
|
|
|
'ClearOnShutdown.cpp',
|
2016-09-14 13:47:32 +00:00
|
|
|
'CycleCollectedJSContext.cpp',
|
2017-02-23 21:23:45 +00:00
|
|
|
'CycleCollectedJSRuntime.cpp',
|
2013-11-05 14:16:25 +00:00
|
|
|
'Debug.cpp',
|
2015-04-22 16:43:02 +00:00
|
|
|
'DebuggerOnGCRunnable.cpp',
|
2015-03-18 18:36:03 +00:00
|
|
|
'DeferredFinalize.cpp',
|
2014-10-20 11:09:00 +00:00
|
|
|
'ErrorNames.cpp',
|
2019-02-11 18:03:12 +00:00
|
|
|
'GkRustUtils.cpp',
|
2015-03-10 23:41:38 +00:00
|
|
|
'HoldDropJSObjects.cpp',
|
2015-07-21 18:31:44 +00:00
|
|
|
'JSObjectHolder.cpp',
|
2018-04-13 09:38:00 +00:00
|
|
|
'LogCommandLineHandler.cpp',
|
2015-10-19 19:22:11 +00:00
|
|
|
'Logging.cpp',
|
2015-12-22 23:09:41 +00:00
|
|
|
'LogModulePrefWatcher.cpp',
|
2018-12-05 20:44:53 +00:00
|
|
|
'MemoryTelemetry.cpp',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsClassInfoImpl.cpp',
|
|
|
|
'nsCOMPtr.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsConsoleMessage.cpp',
|
|
|
|
'nsConsoleService.cpp',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsCRTGlue.cpp',
|
|
|
|
'nsCycleCollectionParticipant.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsCycleCollector.cpp',
|
2015-12-18 22:22:01 +00:00
|
|
|
'nsCycleCollectorTraceJSHelpers.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsErrorService.cpp',
|
|
|
|
'nsGZFileWriter.cpp',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsID.cpp',
|
|
|
|
'nsIInterfaceRequestorUtils.cpp',
|
|
|
|
'nsINIParser.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsInterfaceRequestorAgg.cpp',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsISupportsImpl.cpp',
|
|
|
|
'nsMemory.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsMemoryImpl.cpp',
|
|
|
|
'nsMemoryInfoDumper.cpp',
|
|
|
|
'nsMemoryReporterManager.cpp',
|
|
|
|
'nsMessageLoop.cpp',
|
2015-12-22 01:10:26 +00:00
|
|
|
'NSPRLogModulesParser.cpp',
|
2013-07-26 15:37:02 +00:00
|
|
|
'nsSecurityConsoleMessage.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsSystemInfo.cpp',
|
2014-02-26 21:36:36 +00:00
|
|
|
'nsTraceRefcnt.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsUUIDGenerator.cpp',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsVersionComparator.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsVersionComparatorImpl.cpp',
|
2017-01-23 14:24:01 +00:00
|
|
|
'nsWeakReference.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
]
|
|
|
|
|
2018-07-14 09:20:55 +00:00
|
|
|
if CONFIG['OS_TARGET'] in ('Linux', 'Android'):
|
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'MemoryMapping.cpp',
|
|
|
|
]
|
|
|
|
|
2018-07-17 20:09:45 +00:00
|
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'MemoryInfo.cpp',
|
|
|
|
]
|
|
|
|
|
2019-10-07 21:15:19 +00:00
|
|
|
GeneratedFile("ErrorList.h", script="ErrorList.py", entry_point="error_list_h")
|
|
|
|
GeneratedFile("ErrorNamesInternal.h", script="ErrorList.py",
|
|
|
|
entry_point="error_names_internal_h")
|
|
|
|
GeneratedFile("error_list.rs", script="ErrorList.py",
|
|
|
|
entry_point="error_list_rs")
|
2017-03-30 18:13:01 +00:00
|
|
|
|
2013-04-23 21:54:15 +00:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
2013-10-24 23:23:05 +00:00
|
|
|
SOURCES += [
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsMacUtilsImpl.cpp',
|
|
|
|
]
|
|
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
2013-10-24 23:23:05 +00:00
|
|
|
SOURCES += [
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsCrashOnException.cpp',
|
|
|
|
]
|
2013-08-22 06:56:01 +00:00
|
|
|
|
2019-02-11 18:03:12 +00:00
|
|
|
if CONFIG['COMPILE_ENVIRONMENT']:
|
|
|
|
EXPORTS.mozilla += [
|
|
|
|
'!gk_rust_utils_ffi_generated.h',
|
|
|
|
]
|
|
|
|
|
2019-10-07 21:15:19 +00:00
|
|
|
GeneratedFile('gk_rust_utils_ffi_generated.h',
|
|
|
|
script='/layout/style/RunCbindgen.py',
|
|
|
|
entry_point='generate', inputs=['/xpcom/rust/gkrust_utils'])
|
2019-02-11 18:03:12 +00:00
|
|
|
|
2013-10-02 17:17:55 +00:00
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
|
2014-07-22 23:37:51 +00:00
|
|
|
FINAL_LIBRARY = 'xul'
|
2013-12-18 20:03:11 +00:00
|
|
|
|
2013-12-31 09:06:11 +00:00
|
|
|
LOCAL_INCLUDES += [
|
|
|
|
'../build',
|
2017-10-05 15:34:12 +00:00
|
|
|
'/dom/base',
|
2018-09-28 03:08:07 +00:00
|
|
|
'/mfbt',
|
2019-01-11 20:52:39 +00:00
|
|
|
'/netwerk/base',
|
2013-12-31 09:06:11 +00:00
|
|
|
'/xpcom/ds',
|
|
|
|
]
|
|
|
|
|
2019-08-21 12:25:42 +00:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
|
2014-07-24 15:55:33 +00:00
|
|
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|