ServiceWorkerRegistration::UpdateState can call content code, which
in turn can result in the registrations getting deleted. This
commit moves the call outside the constructor, so the
registration's creator has a chance to get a proper RefPtr to it.
Differential Revision: https://phabricator.services.mozilla.com/D61706
--HG--
extra : moz-landing-system : lando
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.
Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.
Differential Revision: https://phabricator.services.mozilla.com/D62604
--HG--
extra : moz-landing-system : lando
This assert was wrong. The assert may fire if we resurrect the node from a
different thread and insert a kid fast enough.
We allow resurrecting nodes (bumping the nodes from zero to one) to avoid
allocation churn.
In particular, while the thread dropping the node gets to read the children (so
after the fetch_sub from the refcount, but before the read() of the children),
another thread could plausibly bumped the refcount back, and added a children.
This is a very big edge case of course, but I'm kinda sad I hadn't realized
before.
Differential Revision: https://phabricator.services.mozilla.com/D63286
--HG--
extra : moz-landing-system : lando
This implements the special clearKeptObjects() function for the browser and turns on the pref to allow the tests to run.
Differential Revision: https://phabricator.services.mozilla.com/D63193
--HG--
extra : moz-landing-system : lando
Added assertion and removed unnecessary (and incorrect) use of this via ObjectGroup's finalizer.
Differential Revision: https://phabricator.services.mozilla.com/D63188
--HG--
extra : moz-landing-system : lando
Previously we passed a potentially NULL pointer to
CrashReporterHost::FinalizeOrphanedMinidump() which always assumed it to be
non-NULL. This patch solves the issue but preventing the pointer from being
NULL and making CrashReporterHost::GenerateCrashReport() infallible. In the
case we fail to take a minidump the only visible effect will be that the
minidump ID will be empty, and existing code already expects and handles this
scenario correctly.
Differential Revision: https://phabricator.services.mozilla.com/D63179
--HG--
extra : moz-landing-system : lando
takeWindowSnapshot() could take long time with WebRender native compositor. Then skip takeWindowSnapshot() with WebRender. It was fall out from D63125.
Differential Revision: https://phabricator.services.mozilla.com/D63431
--HG--
extra : moz-landing-system : lando
2020-02-20 09:10:51 +00:00
Marco Bonardo ext:(%20%3Cmbonardo%40mozilla.com%3E)
Opening modal dialogs seems to cause focus misbehavior on Linux, run tests in new tabs to better isolate them.
Differential Revision: https://phabricator.services.mozilla.com/D63347
--HG--
extra : moz-landing-system : lando
The render backend's frame builder config is kept only in order to send updates to the scene builder's frame builder config which will update the scene's in the next transaction. If need be the scene configs can be updated right away by looping over the documents. This avoids confusing bugs where only updating the backend's config affects the visibility pass but not the rest.
Differential Revision: https://phabricator.services.mozilla.com/D63337
--HG--
extra : moz-landing-system : lando
For now this is Nightly-only so that IsTypeInferenceEnabled() shouldn't
impact performance for our non-Nightly users.
Depends on D63143
Differential Revision: https://phabricator.services.mozilla.com/D63145
--HG--
extra : moz-landing-system : lando
Also fix the getWaitForAllPromise testing function to not use IsPackedArray
because that depends on type information and caused test failures.
Differential Revision: https://phabricator.services.mozilla.com/D63143
--HG--
extra : moz-landing-system : lando
Unlike stack type monitoring, heap TI is much harder to disable completely
because it's intertwined with a lot of other things. This patch does the
following:
* Don't track type information for any ObjectGroups (in ObjectGroupRealm::makeGroup).
* Turn off heuristics for singletons, allocation-site groups, function groups.
* Turn off type update ICs in Baseline.
* Add early returns to some hot functions.
Depends on D63140
Differential Revision: https://phabricator.services.mozilla.com/D63141
--HG--
extra : moz-landing-system : lando
If TI is disabled we don't allocate any StackTypeSets in JitScript and we don't
allocate/use type monitor ICs.
Differential Revision: https://phabricator.services.mozilla.com/D63140
--HG--
extra : moz-landing-system : lando