IsCurrentInnerWindow() should only return true when we are the current inner
of our BrowsingContext, which has a longer lifetime than individual
GlobalWindowOuter instances. In particular, if our BrowsingContext has no
GlobalWindowOuter hanging off it, that means that currently it's hosting an
inner window from some other process and we are not the current inner. If it
_does_ have a GlobalWindowOuter hanging off it, it's possible that this is not
the same as our mOuterWindow, if the BrowsingContext navigated to a different
site and then navigated back to our site.
Therefore, we need to check that we are the current inner of whatever the
BrowsingContext's current GlobalWindowOuter is, if it has one at all.
Differential Revision: https://phabricator.services.mozilla.com/D48595
--HG--
extra : moz-landing-system : lando
StringBuffer directly calls `NewInlineString` for short strings, which prevents
looking up static strings.
Differential Revision: https://phabricator.services.mozilla.com/D40074
--HG--
extra : moz-landing-system : lando
The XBL test is being removed because it was the only remaining consumer of
xbl's implements="interfacename" in the tree, and was triggering QI on elements
for that codepath.
I've verified that a try run that MOZ_CRASHes when the C++ binding
QueryInterface implementation is invoked is green with these changes.
Differential Revision: https://phabricator.services.mozilla.com/D48249
--HG--
extra : moz-landing-system : lando
Replaced uses of `jsbytecode*` and `pcToOffset` in `IonBuilder::analyzeNewLoopTypes` with bytecode abstraction classes
`BytecodeLocation` and `BytecodeIterator`.
Differential Revision: https://phabricator.services.mozilla.com/D47855
--HG--
extra : moz-landing-system : lando
Adding `BytecodeLocationRange` iterator to `BytecodeIterator` class. Can provide beginning and end bytecode locations to this class, and then iterate over all bytecode locations in that range.
Differential Revision: https://phabricator.services.mozilla.com/D48734
--HG--
extra : moz-landing-system : lando
Entering generational zeal mode can reduce the nursery size which causes
this assertion failure when the maximum size becomes smaller than the
current size.
This patch evicts the nursery before entering generational zeal mode.
Note that we already do this when leaving generational zeal mode. The
assumption was that zeal mode is at least as large as any normal
configuration.
Differential Revision: https://phabricator.services.mozilla.com/D48801
--HG--
extra : moz-landing-system : lando
We disallow marking JSFunctions as INTERPRETED_LAZY until we have a real
LazyScript to bind to them. Partially initialized scripted functions
remain INTERPRETED but their script pointer may be null. This patch
clears up rough edges around this behaviour but semantics should largely
be unchanged.
Differential Revision: https://phabricator.services.mozilla.com/D48901
--HG--
extra : moz-landing-system : lando
Replaced uses of `jsbytecode*` and `pcToOffset` in `IonBuilder::analyzeNewLoopTypes` with bytecode abstraction classes
`BytecodeLocation` and `BytecodeIterator`.
Differential Revision: https://phabricator.services.mozilla.com/D47855
--HG--
extra : moz-landing-system : lando
Adding `BytecodeLocationRange` iterator to `BytecodeIterator` class. Can provide beginning and end bytecode locations to this class, and then iterate over all bytecode locations in that range.
Differential Revision: https://phabricator.services.mozilla.com/D48734
--HG--
extra : moz-landing-system : lando
Because implementations were not in agreement about this and the spec
informally called for src-before-dest, the spec was changed to
correspond to the dynamic and canonical operand order:
dest-before-src. So we adapt to this.
Differential Revision: https://phabricator.services.mozilla.com/D48176
--HG--
extra : moz-landing-system : lando
Replaced uses of `jsbytecode*` and `pcToOffset` with the bytecode
interface classes `BytecodeLocation` and `BytecodeIterator`.
Differential Revision: https://phabricator.services.mozilla.com/D47514
--HG--
extra : moz-landing-system : lando
The root marking functions have assertions that will catch this being used outside of heap marking.
Differential Revision: https://phabricator.services.mozilla.com/D48534
--HG--
extra : moz-landing-system : lando
GCPolicy<T> calls the instance method for these types so these static methods aren't required.
Differential Revision: https://phabricator.services.mozilla.com/D48533
--HG--
extra : moz-landing-system : lando