Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Перейти к файлу
Nika Layzell 3e323b7d7a Bug 1739727 - Part 2: Improve rust async support in moz_task, r=emilio
This patch contains changes to moz_task to improve it's support for
async execution on multiple threads. Unlike the previous executor
implementation, this new implementation reduces the amount of unsafe
code substantially by depending on the async-task crate
(https://crates.io/crates/async-task) for the core task implementation.
This adds a few additional features:

 * Both local (no Send bound) and non-local (with Send bound) execution support,
 * Support for spawning on arbitrary nsIEventTargets or the background task pool,
 * Returned Task objects from runnables which may be .await-ed on or detach()-ed,
 * Support for spawning with the NS_DISPATCH_EVENT_MAY_BLOCK flag set,
 * Automatic use of NS_DISPATCH_AT_END when required,
 * Support for specifying the runnable priority for runnables.

There are also some correctness improvements, and exposed a better API
for dispatching normal runnable functions to background threads.

After these changes the TaskRunnable API should no longer be necessary.
It is re-implemented on top of the executor and kept in-place to avoid
rewriting all consumers.

Differential Revision: https://phabricator.services.mozilla.com/D130705
2021-12-07 20:01:41 +00:00
.cargo Bug 1744643 - Upgrade cc to v1.0.72. r=emilio 2021-12-07 01:55:42 +00:00
.vscode
accessible Bug 1742915 part 2: Cache the tag attribute. r=morgan 2021-12-07 03:37:03 +00:00
browser Bug 1735654 - Tests for screenshots component. r=sfoster 2021-12-07 16:59:44 +00:00
build Bug 1738133 - Undo workaround for https://github.com/rust-lang/rust/issues/88576. r=firefox-build-system-reviewers,nalexander 2021-12-07 06:37:26 +00:00
caps Bug 1741600 - Fix ExpandedPrincipal and nsCSPContext leaks triggered by ApplyAddonContentScriptCSP. r=ckerschb,robwu 2021-11-26 15:51:13 +00:00
chrome Bug 1734823 - Enable ESLint rule no-unused-vars globally for xpcshell test*.js files. r=necko-reviewers,Gijs,valentin 2021-10-11 11:07:02 +00:00
config Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2021-12-06 19:18:29 +00:00
devtools Bug 1741708 - [devtools] Also fix CSS error message filtering. r=jdescottes 2021-12-07 14:00:04 +00:00
docs Bug 1742287 - Ride along: remove old path. r=mhentges,firefox-build-system-reviewers 2021-12-06 20:09:02 +00:00
docshell Bug 1639850 - adjust xpcshell on windows to remove frequent failures. r=gbrown 2021-12-07 19:55:03 +00:00
dom Backed out 8 changesets (bug 1744025) for causing bp-hybrid bustages in dom/clients/api/Clients.cpp. CLOSED TREE 2021-12-08 01:30:06 +02:00
editor Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium 2021-12-01 06:40:04 +00:00
extensions Bug 1739761 - Scale down the hunspell sandbox size calculation to account for reduced fragmentation. r=shravanrn 2021-12-03 20:28:51 +00:00
gfx Bug 1743474: Make NativeLayerCA set size and scale when recreating layers. r=mstange 2021-12-07 19:12:04 +00:00
gradle/wrapper Bug 1727438 - Upgrade to Gradle 6.9.1. r=nalexander,owlish 2021-08-31 20:53:09 +00:00
hal Bug 1697647 - Add screen orientation lock api r=ipc-reviewers,mccr8,agi,smaug,jonalmeida 2021-12-06 13:58:37 +00:00
image Bug 1704876 - Fix a shutdown crash when we race to update an animated vector image. r=tnikkel 2021-12-07 03:10:10 +00:00
intl Bug 1739727 - Part 2: Improve rust async support in moz_task, r=emilio 2021-12-07 20:01:41 +00:00
ipc Backed out 2 changesets (bug 1712837) for win build bustages on a CLOSED TREE 2021-12-07 02:21:09 +02:00
js Bug 1744520: Fix OOM handling for variadic instructions r=jandem 2021-12-07 17:47:08 +00:00
layout Bug 877661 - Remove random annotation from mask-html-01-extref-02.xhtml. r=layout-reviewers,TYLin 2021-12-07 17:25:02 +00:00
media Bug 1743793 - Update libjxl and highway r=tnikkel 2021-12-06 23:43:32 +00:00
memory Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium 2021-12-01 06:40:04 +00:00
mfbt Bug 1743896 - Update xxHash to version 0.8.1. r=dthayer 2021-12-02 01:53:56 +00:00
mobile Bug 1730931 - Supporting an array of cookieStoreId in the tabs.query API. r=robwu 2021-12-07 13:46:53 +00:00
modules Bug 650091 - Sort authentication challenges by safety rating r=necko-reviewers,kershaw 2021-12-07 11:30:50 +00:00
mozglue Bug 1742749 - Update builders to rustc 1.57. r=firefox-build-system-reviewers,mhentges 2021-12-02 21:07:37 +00:00
netwerk Bug 1740274 - Avoid accessing Http2Session through raw pointer, r=necko-reviewers,dragana 2021-12-07 19:45:15 +00:00
nsprpub Bug 1743566 - NSPR_4_33_BETA1. r=glandium UPGRADE_NSPR_RELEASE 2021-12-03 13:01:43 +00:00
other-licenses Bug 1733545 - Remove REQUIRES_UNIFIED_BUILD from third-party directories that don't need it. r=firefox-build-system-reviewers,andi 2021-10-01 09:01:27 +00:00
parser Backed out changeset 3dfd3c94a105 (bug 1701828) for causing mochitest failures on browser_hsts_host.js CLOSED TREE 2021-12-07 12:05:44 +02:00
python Bug 1744665 - un-bust local builds failing with rv being undefined in mach logging code, r=glandium a=Aryx 2021-12-07 08:35:13 +00:00
remote Bug 1694145 - [webdriver-bidi] Support unsubscribing from log.entryAdded events r=webdriver-reviewers,whimboo 2021-12-02 19:21:45 +00:00
security Backed out 2 changesets (bug 1712837) for win build bustages on a CLOSED TREE 2021-12-07 02:21:09 +02:00
services Merge mozilla-central to autoland. a=merge 2021-12-06 23:55:53 +02:00
servo Backed out changeset 66eb52e5da74 (bug 1741973) for causing mochitest failures in test_animation-type-longhand.html 2021-12-07 00:01:55 +02:00
startupcache Backed out 3 changesets (bug 1724509) for causing marionette failures. CLOSED TREE 2021-10-06 03:57:57 +03:00
storage Bug 1738966 - Pass in argc, argv in GreOmniPath. r=kershaw,valentin 2021-11-03 16:31:06 +00:00
taskcluster Bug 1639850 - adjust xpcshell on windows to remove frequent failures. r=gbrown 2021-12-07 19:55:03 +00:00
testing Bug 1639850 - adjust xpcshell on windows to remove frequent failures. r=gbrown 2021-12-07 19:55:03 +00:00
third_party Bug 1739727 - Part 1: Vendor the async-task library, r=emilio 2021-12-07 20:01:41 +00:00
toolkit Bug 1739727 - Part 2: Improve rust async support in moz_task, r=emilio 2021-12-07 20:01:41 +00:00
tools Bug 1730029 - Show perfdocs hierarchy in the sidebar. r=perftest-reviewers,kimberlythegeek 2021-12-07 19:06:28 +00:00
uriloader Bug 1742879 - Let `Cu.createCommandLine` accept arguments and state. r=nika 2021-12-02 19:06:44 +00:00
view Bug 1737044 - Include pointer and frame in nsWindow logging. r=stransky 2021-10-21 14:02:30 +00:00
widget Bug 1744435 - Give the HTML buttons a padding-inline on Windows. r=emilio 2021-12-06 12:00:01 +00:00
xpcom Bug 1739727 - Part 2: Improve rust async support in moz_task, r=emilio 2021-12-07 20:01:41 +00:00
xpfe/appshell Backed out changeset 36f5dbe746ec (bug 1743486) for bustage on nsContentUtils.cpp. CLOSED TREE 2021-12-07 19:42:45 +02:00
.arcconfig
.babel-eslint.rc.js Bug 1725934 - Remove unnecessary babel plugin, and update node modules to the latest versions. r=Mardak 2021-08-18 07:44:47 +00:00
.clang-format
.clang-format-ignore Bug 1719554 - Unify unicode::Script as intl::Script; r=platform-i18n-reviewers,gregtatum 2021-12-06 18:15:50 +00:00
.cron.yml Bug 1738908 - remove esr78 references. r=releng-reviewers,mtabara DONTBUILD 2021-11-02 16:47:50 +00:00
.eslintignore Bug 1726804 - Refactor PROCESS_TYPE_* from nsICrashService r=gsvelto 2021-11-19 14:02:56 +00:00
.eslintrc.js Bug 1738815: Move quicksuggest tests into own dir. r=adw 2021-11-25 01:14:51 +00:00
.flake8 Bug 1731542 - remove `infer` from our static-analysis pipeline. r=static-analysis-reviewers,marco 2021-09-20 12:47:44 +00:00
.git-blame-ignore-revs Bug 1735638 - Add Bug 1571899 to annotate/blame ignore revisions. r=glandium DONTBUILD 2021-10-14 16:02:46 +00:00
.gitattributes
.gitignore Bug 1736907 - Add a build flag to experimentally build with ICU4X static data; r=platform-i18n-reviewers,dminor 2021-11-16 15:09:09 +00:00
.hg-annotate-ignore-revs Bug 1735638 - Add Bug 1571899 to annotate/blame ignore revisions. r=glandium DONTBUILD 2021-10-14 16:02:46 +00:00
.hg-format-source
.hgignore Bug 1736907 - Add a build flag to experimentally build with ICU4X static data; r=platform-i18n-reviewers,dminor 2021-11-16 15:09:09 +00:00
.hgtags No bug - tagging 9a9e37163d95b8021449260af27a113d4633235c with FIREFOX_NIGHTLY_96_END a=release DONTBUILD CLOSED TREE 2021-12-06 19:18:18 +00:00
.lando.ini Bug 1740791: temporarily disable autoformatting r=sheehan DONTBUILD 2021-11-16 16:49:41 +00:00
.lldbinit
.mailmap
.prettierignore
.prettierrc
.taskcluster.yml Bug 1732723 - Rename "taskgraph" Python module to "gecko_taskgraph". r=jmaher 2021-09-30 09:50:08 -04:00
.trackerignore
.yamllint
.ycm_extra_conf.py
AUTHORS
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2021-12-06 19:18:29 +00:00
Cargo.lock Bug 1739727 - Part 1: Vendor the async-task library, r=emilio 2021-12-07 20:01:41 +00:00
Cargo.toml Bug 1738133 - Undo workaround for https://github.com/rust-lang/rust/issues/88576. r=firefox-build-system-reviewers,nalexander 2021-12-07 06:37:26 +00:00
GNUmakefile
LICENSE
Makefile.in Bug 1690870 - Stop getting artifacts for host binaries. r=firefox-build-system-reviewers,andi 2021-10-28 11:05:04 +00:00
README.txt
aclocal.m4
build.gradle Bug 1735628 - Update Glean to v42.1.0 r=TravisLong 2021-10-19 20:32:38 +00:00
client.mk Bug 1734594 - Terminate the sccache server in cases where submakes end in an error. r=firefox-build-system-reviewers,andi 2021-10-08 09:30:48 +00:00
client.py
configure.in
configure.py Bug 1743033 - Avoid creating mach virtualenv when running confgure standalone. r=mhentges 2021-11-26 01:56:04 +00:00
gradle.properties Bug 1727438 - Increase java max heap to 32G. r=nalexander,owlish 2021-08-31 20:53:08 +00:00
gradlew
gradlew.bat
mach Bug 1731158 - Allow initializing mach from a Thunderbird source repo. r=firefox-build-system-reviewers,mhentges 2021-11-29 18:34:58 +00:00
mach.ps1
moz.build Bug 1734831 - fx doc: import the gtest doc from mdn archive + refresh r=gcp DONTBUILD 2021-10-08 19:53:53 +00:00
moz.configure Bug 1743033 - Avoid creating mach virtualenv when running confgure standalone. r=mhentges 2021-11-26 01:56:04 +00:00
mozilla-config.h.in
old-configure.in Bug 1743538 - Clear MOZ_FIX_LINK_PATHS on macOS. r=firefox-build-system-reviewers,andi 2021-12-02 00:22:28 +00:00
package-lock.json Bug 1736781 - Update eslint-plugin-no-unsanitized to version 3.2.0 r=Standard8 2021-10-21 13:08:11 +00:00
package.json Bug 1736781 - Update eslint-plugin-no-unsanitized to version 3.2.0 r=Standard8 2021-10-21 13:08:11 +00:00
settings.gradle Bug 1529082 - Move TestRunnerActivity to test_runner. r=ahal,owlish 2021-11-02 18:56:26 +00:00
substitute-local-geckoview.gradle Bug 1744336 - load mozconfig only once in substitute-local-geckoview. r=agi 2021-12-07 17:53:25 +00:00
test.mozbuild

README.txt

An explanation of the Firefox Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://firefox-source-docs.mozilla.org/contributing/directory_structure.html

For information on how to build Firefox from the source code and create the patch see:

    https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html

If you have a question about developing Firefox, and can't find the solution
on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel.


Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Firefox developers for
testing, may be buggy.