I did not add a separate macro for `MOZ_TRIVIAL_DTOR` as I could not really
think of a use case for it. Let me know if you prefer that I add it as a
distinct macro.
Differential Revision: https://phabricator.services.mozilla.com/D39719
--HG--
extra : moz-landing-system : lando
These tests are based on `moz_global_class` and `moz_trivial_ctor_dtor` tests,
respectively, but adapted for the semantics of the new attributes.
Differential Revision: https://phabricator.services.mozilla.com/D39718
--HG--
rename : build/clang-plugin/tests/TestGlobalClass.cpp => build/clang-plugin/tests/TestStaticLocalClass.cpp
rename : build/clang-plugin/tests/TestTrivialCtorDtor.cpp => build/clang-plugin/tests/TestTrivialDtor.cpp
extra : moz-landing-system : lando
This patch is in support of adding a variant of Static{Auto,Ref}Ptr for use as
static locals, taking advantage of C++11 "magic statics" such that we can lazily
initialize those variables in a thread-safe way.
In support of those classes, this patch adds two new attributes:
* `moz_static_local_class` to ensure that any instantiations of that class only
occur as static local variables;
* `moz_trivial_dtor` to ensure that these classes do not implicitly call `atexit`
and add a whole bunch of shutdown crap.
`moz_static_local_class` works similarly to `moz_global_class`, except that its
object must only instantiate as static locals.
`TrivialDtorChecker` is based on `TrivialCtorDtorChecker`, with the ctor-specific
bits removed.
Differential Revision: https://phabricator.services.mozilla.com/D39717
--HG--
rename : build/clang-plugin/TrivialCtorDtorChecker.cpp => build/clang-plugin/TrivialDtorChecker.cpp
rename : build/clang-plugin/TrivialCtorDtorChecker.h => build/clang-plugin/TrivialDtorChecker.h
extra : moz-landing-system : lando
Other harness code intermittently complains if the directory is absent. Maybe this will help.
Differential Revision: https://phabricator.services.mozilla.com/D39621
--HG--
extra : moz-landing-system : lando
This changes the logging from
"PROCESS-CRASH | mozrunner-startup | application crashed" to
"PROCESS-CRASH | path/to/test | application crashed"
Differential Revision: https://phabricator.services.mozilla.com/D39615
--HG--
extra : moz-landing-system : lando
The missing directory seems to happens ~20 or so times per test run. I hope this
can help with investigations.
Differential Revision: https://phabricator.services.mozilla.com/D39613
--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
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
The old code happened to work but didn't really make sense and I ran into some assertion
failures with other changes. Later patches will clean this up more.
Differential Revision: https://phabricator.services.mozilla.com/D38862
--HG--
extra : moz-landing-system : lando
We now always set the frame's environment chain to a non-null value and have
an explicit isPrologueBailout flag instead of relying on envChain == nullptr.
Differential Revision: https://phabricator.services.mozilla.com/D38861
--HG--
extra : moz-landing-system : lando
When we resumeAfter a JOF_TYPESET op, we had code to enter the type monitor
chain for the bailing op, passing it the top stack value. It's simpler to do
this monitoring in C++ in FinishBailoutToBaseline and then treat it as a regular
resumeAfter bailout.
The code for this will be simplified more later in the stack.
Differential Revision: https://phabricator.services.mozilla.com/D38860
--HG--
extra : moz-landing-system : lando
We're hitting double imprecision here.
Example: Given 86.68392200000000 and 86.67999999999999 we want to see
if they're equal with two significant digits. (They are, they're 86.68)
However, when we reduce them, 86.68 (which is represented as an epislon lower)
gets reduced to 86.66 and they no longer match. We disable unconditional clamping
on these tests to confirm they behave the way they shoud... excepting the clamping
which may introduce imprecision.
Differential Revision: https://phabricator.services.mozilla.com/D38812
--HG--
extra : moz-landing-system : lando
I believe these intermittents are caused by double imprecision. When unconditional clamping is enabled
it gets multiplied out and causes animation.currentTime to occasionally go to 50000.02 which causes
the test to fail. We can reduce the precision back down to ignore that. We do so using some WPT
overrides.
Differential Revision: https://phabricator.services.mozilla.com/D38810
--HG--
extra : moz-landing-system : lando
This has to do with double imprecision. The test originally had toPrecision(6) to
account for this imprecision. It'd round up 499.9999 into 500. When we send
double(500) (which is an epsilon below 500) into ReduceTimePrecision we wind up
coming out with 499.98. By reducing our precision requirement in this test
we can handle that and round 499.98 back up to 500
Differential Revision: https://phabricator.services.mozilla.com/D38809
--HG--
extra : moz-landing-system : lando