On GLES, the default shader behaviour is to use highp(32bit) integers
in the vertex shader and mediump(16bit) integers in the fragment shader. This
causes issues in the border shader due to bitshifting with 16 bits. The
fix here is to only shift by 8 bits as the data can be represented in a
16bit integer and forcing mediump in the vertex shader as well.
Differential Revision: https://phabricator.services.mozilla.com/D62784
--HG--
extra : moz-landing-system : lando
The crash reports all have allocation failures in their gfx critical log indicating that the best we can do is bail out without crashing and hope that enough memory will be freed before we run into an infallible allocation.
Differential Revision: https://phabricator.services.mozilla.com/D63085
--HG--
extra : moz-landing-system : lando
The exact circumstances of how this is showing up in the wild aren't
clear - there seem to be a couple of ways we can get here. However it
all revolves around early shutdowns (i.e., from the select profile popup)
- before the StartupCache is ever initialized. In any case, the solution
shouldn't change based on the exact circumstances - if we don't have a
StartupCache, there's no need to write one. Also, don't bother lazy
initializing it if it doesn't exist yet.
Differential Revision: https://phabricator.services.mozilla.com/D63208
--HG--
extra : moz-landing-system : lando
Baseline code has explicit pre- and post-write barriers, but for Ion we should be
able to reuse the existing `MPostWriteBarrier`. Only pre-write barriers require
an explicit MacroAssembler call when emitting the assembly code.
Differential Revision: https://phabricator.services.mozilla.com/D58787
--HG--
extra : moz-landing-system : lando
Passes the target `JSFunction` through to `patchInlinedReturn`, so we don't
emit `MReturnFromCtor` for derived class constructors. (Using `MReturnFromCtor`
for derived class constructors leads to repeated bailouts, because the computed
this-value is a magic type, which isn't a valid return type for `MReturnFromCtor`.)
Differential Revision: https://phabricator.services.mozilla.com/D58785
--HG--
extra : moz-landing-system : lando
The note in `IonBuilder::inspectOpcode()` doesn't seem to apply anymore, probably
when we switched to CacheIR for call opcodes, the bailout issue noted there
doesn't matter anymore.
Inlining derived class constructors is enabled in the next part.
Differential Revision: https://phabricator.services.mozilla.com/D58784
--HG--
extra : moz-landing-system : lando
Includes support for `foldsTo`, so we can optimise away the instruction for
known types.
Differential Revision: https://phabricator.services.mozilla.com/D58781
--HG--
extra : moz-landing-system : lando
Changes the already present `MCheckReturn` class to match the baseline
implementation. `MCheckReturn::foldsTo` didn't fold away known types, so some
basic folding was directly added to `IonBuilder::jsop_checkreturn()`.
Differential Revision: https://phabricator.services.mozilla.com/D58780
--HG--
extra : moz-landing-system : lando
This operation is similar to JSOp::GetIntrinsic, where we can bake in a constant
value for known prototypes. In the future we may want to assign a type-set to
this operation, similar to JSOp::GetIntrinsic, but for now we don't need more
exact type information here.
Differential Revision: https://phabricator.services.mozilla.com/D58779
--HG--
extra : moz-landing-system : lando
This is based on the existing support for JSOp::Lambda and JSOp::LambdaArrow.
Differential Revision: https://phabricator.services.mozilla.com/D58777
--HG--
extra : moz-landing-system : lando
This will allow us to generate flamegraph-style output to see where wpt jobs
spend time
Differential Revision: https://phabricator.services.mozilla.com/D63066
--HG--
extra : moz-landing-system : lando
If the MessagePortIdentifierRunnable's WorkerRunnable::Run is called when the
WorkerPrivate is doing ClearMainEventQueue, WorkerRunnable::Run will decrement
the busy count. It should have already been incremented by a (successful)
WorkerRunnable::PreDispatch though, but MessagePortIdentifierRunnable's
PreDispatch doesn't do anything, so in this case the busy count modifications
are not balanced.
It seemed like MessagePortIdentifierRunnable tried to avoid modifying the
busy count at all, but it doesn't work in the case described above. So, the
patch just makes MessagePortIdentifierRunnable do the normal busy count
modifications. (I also don't see any "bad assertions" referenced by the empty
{Pre,Post}{Dispatch,Run} methods.)
Differential Revision: https://phabricator.services.mozilla.com/D62951
--HG--
extra : moz-landing-system : lando
Most of this was already done in bug 1614791, but we still have
to rename the file and change the require path.
Differential Revision: https://phabricator.services.mozilla.com/D63189
--HG--
rename : devtools/server/debugger-server-connection.js => devtools/server/devtools-server-connection.js
extra : moz-landing-system : lando
align-content normally applies to flex and grid containers only, but
when its value is baseline, it does apply to grid and flex items and
table-cells. So better not warn at all when this value is used.
Worth noting that alignment properties will, at some point in the
future, also be supported on block containers. At that point we'll
need to correct a whole bunch of validators for inactiveCSS.
Differential Revision: https://phabricator.services.mozilla.com/D60858
--HG--
extra : moz-landing-system : lando
The patch removes the tad odd interleave behavior from the main thread and makes RefreshDriver to give
at least a tiny bit time for non-high priority tasks.
Given the recent change to have similar block-until behavior in child and parent process, this should work
consistently in all the processes.
Differential Revision: https://phabricator.services.mozilla.com/D63098
--HG--
extra : moz-landing-system : lando
Change GPUProcessManager::OnPreferenceChange() and
RDDProcessManager::OnPreferenceChange() to only queue preference changes when
the child process is in the act of launching. And don't start observing
preference changes until we launch the child process rather that at startup.
Differential Revision: https://phabricator.services.mozilla.com/D62112
--HG--
extra : moz-landing-system : lando
AWS apparently has a 50 routing rule limit on their S3 bucket websites. We are
currently applying all our redirect rules 3 times, so have exceeded the limit
despite only having 18 defined rules.
This patch ensures we only apply the rules twice, giving us a bit more
breathing room. In the future, I'd like to try and set up a redirect
from '/' to '/latest' so we can further reduce the number of places we
upload files.
Differential Revision: https://phabricator.services.mozilla.com/D63200
--HG--
extra : moz-landing-system : lando
This should remove the allocation and copy in
TextureD3D::ensureRenderTarget() in some situations.
Differential Revision: https://phabricator.services.mozilla.com/D62952
--HG--
extra : moz-landing-system : lando