This makes eager processing the default as well, which makes the code
effectively work how it does before the FunctionTree patches.
Differential Revision: https://phabricator.services.mozilla.com/D40480
--HG--
extra : moz-landing-system : lando
Currently, TabGroups know to break their reference cycles only when the last
window leaves them. For TabGroups which have never had a window join (which
happens under Fission), this means they also never see a window leave, and
therefore never break their reference cycles, and leak.
This patch adds a check to break reference cycles if no windows have joined by
the time a BrowserChild they belong to is destroyed.
MANUAL PUSH: Lando fails to rebase.
Differential Revision: https://phabricator.services.mozilla.com/D40669
--HG--
extra : source : 03acb28ab60fb77fa06064385a62cc46cf4ad1bd
extra : amend_source : 0a71625d99951bebe45ee6f62570de491a714e97
Remote outer window proxies can't be the target of a CCW, because if
you attempt to wrap them we just create a new outer window proxy.
Therefore, they can't be the target of an Xray wrapper, so they can't
have Xray waivers that do anything useful. However, if we do a
navigation from a local iframe to a remote iframe, we'll transplant a
remote outer window proxy onto a local outer window proxy, which might
have an Xray. This can cause some issues, particularly if we later
navigate back to a different local window.
To work around this, this patch nukes Xray waivers on navigation to a
remote outer window proxy. This makes Xray waiver behavior
inconsistent with the non-Fission behavior, but it is safer to leave
the non-Fission behavior alone for now, for fear of breaking addons.
Differential Revision: https://phabricator.services.mozilla.com/D40116
--HG--
extra : moz-landing-system : lando
Remote outer window proxies can't be the target of a CCW, because if
you attempt to wrap them we just create a new outer window proxy.
Therefore, they can't be the target of an Xray wrapper, so they can't
have Xray waivers that do anything useful. However, if we do a
navigation from a local iframe to a remote iframe, we'll transplant a
remote outer window proxy onto a local outer window proxy, which might
have an Xray. This can cause some issues, particularly if we later
navigate back to a different local window.
To work around this, this patch nukes Xray waivers on navigation to a
remote outer window proxy. This makes Xray waiver behavior
inconsistent with the non-Fission behavior, but it is safer to leave
the non-Fission behavior alone for now, for fear of breaking addons.
Differential Revision: https://phabricator.services.mozilla.com/D40116
--HG--
extra : moz-landing-system : lando
Combine the LazyScript::function_ and JSScript::global_ fields into the
BaseScript type. This provides a common definition of script realm and
compartment. Currently a non-lazy function script will set this to point
this to the global, but in future it should be made to point to
canonical function for both the lazy and non-lazy cases.
Differential Revision: https://phabricator.services.mozilla.com/D40520
--HG--
extra : moz-landing-system : lando
The realm can be read off the global object and we can remove one step
in the mergeRealms code.
Differential Revision: https://phabricator.services.mozilla.com/D40519
--HG--
extra : moz-landing-system : lando
In Context 0.1, Huffman keys are represented with a bit order that is the reverse of the bitstream. This
patch ensures that Huffman tables reverse the bit order of their keys upon initialization, so as to allow
fast comparison later in the code.
Differential Revision: https://phabricator.services.mozilla.com/D38979
--HG--
extra : moz-landing-system : lando
This method & the chunkCountLimit_ variable are unnecessary. The maximum
permitted nursery size is tracked in the GCSchedulingTunables class.
Differential Revision: https://phabricator.services.mozilla.com/D39285
--HG--
extra : moz-landing-system : lando
The new variable, 'newMinNurseryBytes' is more in-line with the other
'newMaxNurseryBytes'.
Differential Revision: https://phabricator.services.mozilla.com/D39284
--HG--
extra : moz-landing-system : lando
We used to calculate the nursery's maximum size in chunks, and track the
maximum number of chunks permitted. This could lead to some unexpected
behaviour with a larger nursery than requested. Calculating it in bytes is
simpler, avoids this problem, and is more in-line with other calculations.
Differential Revision: https://phabricator.services.mozilla.com/D39281
--HG--
extra : moz-landing-system : lando
Nursery::exists() behaved exactly the same as Nursery::isEnabled() so use
the latter.
Differential Revision: https://phabricator.services.mozilla.com/D39280
--HG--
extra : moz-landing-system : lando
Rather than make re-enabling the nursery work correctly (because there's
various ways to disable it and we'd need to make sure we're enabling it for
the right reason). It's simplier just to not disable it for a
gcMaxNurseryBytes of 0, and instead return an error.
Differential Revision: https://phabricator.services.mozilla.com/D39988
--HG--
extra : moz-landing-system : lando
This removes the override-pc and DebugModeOSR special case.
Performance shouldn't be affected because GeneratorThrowOrReturn always enters
the exception handler anyway, and it's pretty uncommon compared to normal
generator resumes.
Differential Revision: https://phabricator.services.mozilla.com/D40010
--HG--
extra : moz-landing-system : lando
The Baseline JIT can no longer be enabled without the Baseline Interpreter.
Differential Revision: https://phabricator.services.mozilla.com/D40009
--HG--
extra : moz-landing-system : lando
This was necessary when it got added, but the surrounding code has changed so much
that it's easy to see how the setOverridePc/clearOverridePc is a no-op now.
Differential Revision: https://phabricator.services.mozilla.com/D40015
--HG--
extra : moz-landing-system : lando
calling SetFakeCpuCount may cause GlobalHelperThreadState to create more threads than there are JSContexts in the list. This adds a function to check the length of the context list against the new thread count, and if there are not enough JSContexts, append more to the list.
Differential Revision: https://phabricator.services.mozilla.com/D39986
--HG--
extra : moz-landing-system : lando