This should symptomless since the extra op should always be a JSOP_GOTO
which will be skipped over anyways. Fix for our sanity.
Differential Revision: https://phabricator.services.mozilla.com/D9422
--HG--
extra : moz-landing-system : lando
Currently it is relative to JSScript::main(), but it is the only part of
the engine that uses this definition to describe a "pcOffset". This is
unnecessarily confusing, and fixing it is easy.
Differential Revision: https://phabricator.services.mozilla.com/D9358
--HG--
extra : moz-landing-system : lando
Now that the XPCOM component loader infrastructure has stopped
pretending to support other file extensions, this intermediate
interface is no longer needed.
Depends on D8171
Differential Revision: https://phabricator.services.mozilla.com/D8172
--HG--
extra : moz-landing-system : lando
JS is the only file extension actually supported, and there are a few
layers of cruft that can be eliminated if we specialize it.
This eliminates one XPCOM registration of the JS component loader.
Depends on D8170
Differential Revision: https://phabricator.services.mozilla.com/D8171
--HG--
extra : moz-landing-system : lando
This interface is only used for a few testing functions. Just move
them to Cu.
Differential Revision: https://phabricator.services.mozilla.com/D8168
--HG--
extra : moz-landing-system : lando
This should symptomless since the extra op should always be a JSOP_GOTO
which will be skipped over anyways. Fix for our sanity.
Differential Revision: https://phabricator.services.mozilla.com/D9422
--HG--
extra : moz-landing-system : lando
Currently it is relative to JSScript::main(), but it is the only part of
the engine that uses this definition to describe a "pcOffset". This is
unnecessarily confusing, and fixing it is easy.
Differential Revision: https://phabricator.services.mozilla.com/D9358
--HG--
extra : moz-landing-system : lando
The output for a particular IC chain looks like this:
box2d.js:174:250 (sub) 1009 -> 772 -> (fb) 2
Which is read like this: This sub opcode has two ICs attached. The first IC was
entered 1009 times, the second 772 and the fallback stub was hit twice.
There are some conclusions we can draw from this (and some we cannot)
- We can say with confidence the fallback stub was only hit twice, meaning 99.998%
of queries to the IC chain hit in the IC rather than the fallback.
- We cannot however say necessarily that the first IC failed to provide a value
771 times.
Since new ICs are added at the front, it is possible that there was a phase
transition that happened, and the first 771 requests were served by the first
IC, followed by a transition to a new type and addition of a new IC, and
subsequently 1009 queries were served by the newly added IC.
- We can conclude with confidence that there have been at least two different ICs
involved in computation across the lifetime of the IC chain, and they are almost
equally probable.
Though we can't do temporal reasoning with entry counters, we can still do some
reasoning.
Depends on D8859
Differential Revision: https://phabricator.services.mozilla.com/D8860
--HG--
extra : moz-landing-system : lando
This pulls a new nom version, which is slightly unfortunate, but I do want some
of the fixes upstream, and it's build-only, so I think it's not a huge deal.
Differential Revision: https://phabricator.services.mozilla.com/D9362
By adding a counter increment to the entry of an IC stub, it is possible to analyze
the IC chain for patterns that indicate how the ICs are performing, which can
influence the baseline inspector, and allow Ion to weight the choices it makes on IC
data.
Differential Revision: https://phabricator.services.mozilla.com/D8859
--HG--
extra : moz-landing-system : lando
This is the equivalent of the rustc-workspace-hack used by the rust build to
ensure cargo and RLS see the same set of features for dependencies so that
these dependencies may be reused by invocations of cargo for these two
projects. The trivial crate added specifies the union of the set of
features activated for a particular crate for each time it appears in the
dependency tree so that cargo will understand these dependencies to be
re-usable across cargo implementations. This eliminates re-building jsrust
and some of its dependencies twice, and reduces the number of crates compiled
in the tree by about 90 in testing on linux.
Differential Revision: https://phabricator.services.mozilla.com/D9041
--HG--
extra : moz-landing-system : lando
This changes Maybe<IdSet> to Rooted<IdSet>. I think the Maybe<>
is not buying us much because HashTable's storage is now lazily
allocated (bug 1481998). I didn't notice any regressions in
micro-benchmarks; this patch might be a small improvement actually.
Differential Revision: https://phabricator.services.mozilla.com/D9225
--HG--
extra : amend_source : 06920efff84c1c5ad11a94689e7aeb5bac5b9368
We can call this for a cross-realm script when defining a property on an arguments object.
Differential Revision: https://phabricator.services.mozilla.com/D9226
--HG--
extra : moz-landing-system : lando