This of course checks that the mutex is locked as expected in non-public APIs.
It also checks that user callbacks will not keep readers/writers longer than
they should.
Differential Revision: https://phabricator.services.mozilla.com/D39625
--HG--
extra : moz-landing-system : lando
`BaeProfilerMutex` is a concrete mutex based on MutexImpl, which was previously
implemented twice in both platform.h and BlocksRingBuffer.h.
This combined mutex has some DEBUG code (when MOZ_BASE_PROFILER is #defined) to
catch recursive locking, and to assert that the mutex is held (for code that
cannot easily use the "proof of lock" pattern; e.g., going through user-provided
callbacks).
This class needs to be public (because it is used in public headers), but is an
implementation detail, so it is located in a new header
"mozilla/BaseProfilerDetail.h" that will collect `mozilla::baseprofiler::detail`
code that may be useful to a few files in Base Profiler.
Differential Revision: https://phabricator.services.mozilla.com/D39624
--HG--
extra : moz-landing-system : lando
`ClearBefore()` with a past-the-end `BlockIndex` was calling `Clear()`, which
tried to take the lock again! Also we didn't return after that.
Fixed, and added corresponding test.
Also: Removed ambiguous "delete" word, now using more precise "destroy" or
"entry destructor".
Differential Revision: https://phabricator.services.mozilla.com/D38846
--HG--
extra : moz-landing-system : lando
Update the fallback downloader to make sure it's in step with balrog rules.
Differential Revision: https://phabricator.services.mozilla.com/D39828
--HG--
extra : moz-landing-system : lando
Ensure that the test returns a result in various error conditions
including databases not being defined, and databases() throwing an
exception. This avoids the test timing out as a failure mode and so
saves some runtime.
Differential Revision: https://phabricator.services.mozilla.com/D31523
--HG--
extra : moz-landing-system : lando
It causes confusion because it's the mode used to _read_ the overwritten
file. Make that more obvious by renaming to `readmode`.
Differential Revision: https://phabricator.services.mozilla.com/D39445
--HG--
extra : moz-landing-system : lando
… rather than as an extra step after `cargo doc`.
This helps always using the correct set of CSS properties
(for layout 2013 v.s. 2020).
Cherry-picked from: https://github.com/servo/servo/pull/23856
Currently we don't always give a useful message and in particular
don't always include the file and line number of the place where the
exception occured in order to give a clue about where the error might
be.
To fix this, if we get an error that isn't a ParseError, wrap it in a
ParseError to give the file and line. Also improve one error message.
Differential Revision: https://phabricator.services.mozilla.com/D22312
--HG--
extra : moz-landing-system : lando
This way, screen reader users can more easily browse all content provided by the What's New sections. Otherwise, only the buttons would be read, and screen reader users would have to use cumbersome navigation techniques to get to the rest of the contents.
This patch adds an WAI-ARIA role "document" to the container, which only changes screen reader behavior, but has otherwise no effect on styling or browser behavior.
Differential Revision: https://phabricator.services.mozilla.com/D39887
--HG--
extra : moz-landing-system : lando
Add internal method _wait_for_bootcompleted to wait until sys.boot_completed and dev.bootcomplate are set.
Add internal method _initialize_boot_state to encapsulate the steps required to initialize device state.
Make sure to set device state after rebooting.
Normalize optional arguments for _test_path calls.
Add verbose logging for shell_bool.
Differential Revision: https://phabricator.services.mozilla.com/D39876
--HG--
extra : moz-landing-system : lando
This asserts that the embedder is always set soon enough that we don't run into
the situation which caused the null deref fixed by bug 1565489.
Differential Revision: https://phabricator.services.mozilla.com/D39187
--HG--
extra : moz-landing-system : lando
Having these files in their final packaged locations creates problems when
we expose them to localizations.
Differential Revision: https://phabricator.services.mozilla.com/D39872
--HG--
extra : moz-landing-system : lando
Instead of storing both buffer_ and header_ we now store just header_ (as UniquePtr).
This also removes HeaderSize() and uses sizeof(BaselineBailoutInfo) directly.
Differential Revision: https://phabricator.services.mozilla.com//D39873
--HG--
extra : histedit_source : 5966a423808ffceb9b4566b175724f2b7616a039
Making variables in InitFromBailout immutable makes the code a lot easier to reason about.
Differential Revision: https://phabricator.services.mozilla.com//D38870
--HG--
extra : histedit_source : 8b6756ea0c8caa2f934026807ef13a2fa03bc89a
Use proper C++ constructors/destructors, use UniquePtr instead of js_free.
Differential Revision: https://phabricator.services.mozilla.com//D38868
--HG--
extra : histedit_source : e4bbcde1cd0a3d8d523ad0e7dfa543af879ec4cf
This adds/changes some methods we need later on.
Differential Revision: https://phabricator.services.mozilla.com//D38866
--HG--
extra : histedit_source : 62b72ad824ee4fa254e7bcfc2e6ecc6a68bcd54b
We need this for the next patch because we have a JSOp instead of a pc when
generating the interpreter. (In general it's nicer for functions to take a JSOp
instead of a PC because it can be used in strictly more contexts.)
Differential Revision: https://phabricator.services.mozilla.com/D38864
--HG--
extra : moz-landing-system : lando
The old code happened to work for Baseline JIT bailouts because the JIT ignores
the return value slot for noScriptRval scripts, but when bailing out to the
interpreter we would have an optimized-out MagicValue in the return value slot
and get confused.
Differential Revision: https://phabricator.services.mozilla.com/D38863
--HG--
extra : moz-landing-system : lando