This will, for example, make it possible to behave differently for a normal navigation,
a reload navigation, a history navigation, and a pushstate navigation.
Differential Revision: https://phabricator.services.mozilla.com/D122532
This function is only used by the shell, and then only when --avilable-memory
is passed, but it could be used as a source of parameter values for low memory
systems so we should make them resonable at least.
Looking at this the current normal values are out of date with the defaults,
and one parameter is repeated several times. I'm not sure what happened here.
Depends on D122601
Differential Revision: https://phabricator.services.mozilla.com/D122602
During the pagehide event, we're checking that the target we're navigating away
from is the expected one.
We previously used the window property, but this is a getter that is updated when
a document is selected in the iframe picker.
Since the goal is to check the actual document the target was created for, we
can use the originalWindow property instead.
A test is added, which is failing without the fixes of this patch.
We take this as an opportunity to clear the iframe picker list on will-navigate,
(as the test was failing on Fission without this), which allows us to remove the
`_notifyDocShellDestroyAll` method of the `BrowsingContextTargetActor` that was
also called before emitting the `will-navigate` event.
Differential Revision: https://phabricator.services.mozilla.com/D121727
The ARM64 architecture uses two instructions to implement SIMD narrowing,
SQXTN and SQXTN2 (and their unsigned-saturation variants). These are not
quite symmetric: the former will clear the upper bits of the output register
and set the lower bits, while the latter will just set the upper bits.
To implement an across-the-vector narrowing, the former must be executed
before the latter.
For some operations, we execute them in the other order to save a move.
But this is incorrect, so this patch reintroduces the move when it
is required. This effectively makes the three-address operations the
same as the two-address operations and it's possible we want to
propagate the fix higher up in the stack to avoid the duplication of
code, but for now a local fix seems best.
Differential Revision: https://phabricator.services.mozilla.com/D122587
The test causes different assertion count between platforms. As the comment in
crashtests.list, the difference is whether "removeList" command enabled check
is run at getting focus or not. Perhaps, the difference is caused by whether
HTML commands are initialized before or after executing "indent" command.
Differential Revision: https://phabricator.services.mozilla.com/D122546
Adds a new preference javascript.options.use_fdlibm_for_sin_cos_tan (default
false) and uses fdlibm for Math.sin, Math.cos, and Math.tan conditioned on it.
Differential Revision: https://phabricator.services.mozilla.com/D119426
For FMA and FMS we will need a ternary node, and bitselect already has
the right shape and logic. We just need to rename it and generalize
it slightly with the SIMD op as a parameter, as we have for many other
nodes.
Drive-by fix: bitselect on arm64 does not actually need a temp
register.
Differential Revision: https://phabricator.services.mozilla.com/D122080
The "experimental" feature is no longer defined and this predicate can
just go away - it should have been removed with the feature.
Differential Revision: https://phabricator.services.mozilla.com/D122079
Rename to just "create" and add missing call to debugCheckNewObject for consistency
with JSFunction, NativeObject, TypedObject.
Depends on D122430
Differential Revision: https://phabricator.services.mozilla.com/D122431
This is more robust and simpler than the NewObjectCache.
Change AddLengthProperty to add the property directly to the shape, instead of
defining the property on the object and then getting its shape.
Differential Revision: https://phabricator.services.mozilla.com/D122426
A nullptr `proto` is already interpreted as "use the builtin Array.prototype" by
the constructing path, so we can rely on this also for the non-constructing case.
Depends on D122424
Differential Revision: https://phabricator.services.mozilla.com/D122425