On x86/x64 platforms, we were using a call and then immediately popping and
ignoring the return value, so use a jump instead. For architectures that use
a link-register, we no longer clobber it but it was already ignored.
Differential Revision: https://phabricator.services.mozilla.com/D72697
Use helper methods to access the size and length of each trailing array.
We shave 40 bytes off each IonScript by using the difference between two
arrays to compute size rather than storing a dedicated size field.
Differential Revision: https://phabricator.services.mozilla.com/D72675
Order the trailing arrays by descending alignment requirements and use a
similar approach to JitScript for computing sizes and initializing.
Differential Revision: https://phabricator.services.mozilla.com/D72674
This type is a mixin with helper methods for casting and initializing arrays
that follow a struct in the same allocation. Use this for existing JitScript,
PrivateScriptData, RuntimeScriptData, ImmutableScriptData types.
Differential Revision: https://phabricator.services.mozilla.com/D72672
This is used during codegen only so we can simplify the SafepointIndex that
is stored in the IonScript. The resolve method is replaced by a constructor
from CodegenSafepointIndex to SafepointIndex.
Differential Revision: https://phabricator.services.mozilla.com/D72671
This exists for mips-32 targets which expect double values to be 8-byte
aligned. This patch removes the `offset` argument which was misleading.
Instead a `alignedForABI` method is added to the ExitFrameFooter type. This
skips over additional padding added in the MIPS32 trampolines.
Differential Revision: https://phabricator.services.mozilla.com/D72549
This patch prevents speedometer tests from running on all android builds and also prevents chrome tests from running there.
Differential Revision: https://phabricator.services.mozilla.com/D72727
We don't support mixing self-hosted and native accessors in `JSPropertySpec`,
therefore we need to move the setter into self-hosted code, too, even though
we only need to have the getter self-hosted to be able to inline it.
Differential Revision: https://phabricator.services.mozilla.com/D72670
Instead of going through every commit, look for a "base_ref" which is
actually a base revision i.e. one that's on a remote head. Then look
for this commit on inbound or central. This should cover all cases except
for when a branch is based on something that was fetched from try in
such a way as to create a remote ref. However that's pretty rare and we
fall back to useful behaviour in that case.
Differential Revision: https://phabricator.services.mozilla.com/D71935
This patch changes how Google Chrome for Android is deployed. Rather than relying on automatic updates, we will use tooltool to download the APK and install it ourselves. Some changes were done in taskcluster to remove a hack that was put in place to disable interal tooltool downloads (the issue is resolved now).
A tooltool manifest is added for this, and to keep ourselves organized, all manifests (including the playback ones) are moved into a folder called `tooltool-manifests`.
Differential Revision: https://phabricator.services.mozilla.com/D72198
This was the case with my local rustc build today. We only use this directory for natvis files, it's fine to not have those.
Differential Revision: https://phabricator.services.mozilla.com/D72440
Because the web platform test harness doesn't recognize them and annotates them
with `CRITICAL`, which is disconcerting, even though those errors are typically
not harmful.
Differential Revision: https://phabricator.services.mozilla.com/D71485