gecko-dev/intl/l10n
Dan Minor cbc20fad2b Bug 1728849 - Protect l10nregistry sources with mutex; r=platform-i18n-reviewers,gregtatum
This changes from using RefCell to Mutex. RefCell is suitable for
single-threaded applications, but we are seeing concurrent access here
leading to crashes when the sources are mutated at the same time that
bundles are being generated.

This appears to have a minimal effect on the criterion benchmarks. Most of the
results are within +/- 2.0% of the baseline, with a few slower (worst is 9%
slower) and a few faster (best is 7% faster).

Differential Revision: https://phabricator.services.mozilla.com/D140053
2022-03-28 13:54:36 +00:00
..
docs
rust Bug 1728849 - Protect l10nregistry sources with mutex; r=platform-i18n-reviewers,gregtatum 2022-03-28 13:54:36 +00:00
test
FileSource.cpp
FileSource.h
FluentBindings.h
FluentBundle.cpp
FluentBundle.h
FluentResource.cpp
FluentResource.h
FluentSyntax.jsm
L10nRegistry.cpp
L10nRegistry.h
Localization.cpp
Localization.h
LocalizationBindings.h
moz.build
README
RegistryBindings.h

The content of this directory is partially sourced from the fluent.js project.

The following files are affected:
 - FluentSyntax.jsm

At the moment, the tool used to produce those files in fluent.js repository, doesn't
fully align with how the code is structured here, so we perform a manual adjustments
mostly around header and footer.