This excludes dom/, otherwise the file size is too large for phabricator to handle.
This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.
This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 2` argument.
Differential Revision: https://phabricator.services.mozilla.com/D27456
--HG--
extra : moz-landing-system : lando
The only reason this wasn't already working is that propertyOrMethodName()
relied on a Semi token to help it recognize a FieldDeclaration without an
Initializer. This obviously can't work if the semicolon isn't there, so this
patch makes Field the default case.
That means the caller, classMember(), must be prepared for
propertyOrMethodName() to succeed with PropertyType::Field when in fact maybe
there's nothing but gibberish coming up; but we already handle that.
Differential Revision: https://phabricator.services.mozilla.com/D26038
--HG--
extra : moz-landing-system : lando
The existing propertyName() method parses a little more than just
PropertyNames; this patch renames it, to clarify that, but the behavior is
unchanged.
There was a lot of redundancy in the implementation of getters and setters, so
this deletes a bunch of code.
Differential Revision: https://phabricator.services.mozilla.com/D26036
--HG--
extra : moz-landing-system : lando
This is the first time we pin a specific Cranelift commit hash to use in Gecko.
The target-lexicon hack is removed and instead we introduce a vendor patch for
cranelift-codegen/cranelift-wasm themselves.
Notable changes happen in top-level Cargo.toml, .cargo/config.in and
js/src/wasm/cranelift/Cargo.toml; the rest has been generated by `mach vendor
rust`.
Differential Revision: https://phabricator.services.mozilla.com/D27316
--HG--
extra : moz-landing-system : lando
Also has some other minor prologue-related changes. The interpreter code here
is slightly less optimal than it could be, but that will be easier to address
in follow-up changes.
Differential Revision: https://phabricator.services.mozilla.com/D25930
--HG--
extra : moz-landing-system : lando
Currently, JSAPI malloc calls can only allocate in MallocArena. Now there
are calls for when the user intends to allocate a buffer that will be
"stolen" by one of the NewString calls.
Differential Revision: https://phabricator.services.mozilla.com/D25709
--HG--
extra : moz-landing-system : lando
This makes %AsyncFromSyncIteratorPrototype%.next/return/throw return a rejected
promise, not throw, when PromiseResolve throws, following the usual convention
for methods that return promises. This follows proposed spec change
<https://github.com/tc39/ecma262/pull/1470>, which I expect will land with
little controversy.
Differential Revision: https://phabricator.services.mozilla.com/D23030
--HG--
extra : moz-landing-system : lando
The only reason this wasn't already working is that propertyOrMethodName()
relied on a Semi token to help it recognize a FieldDeclaration without an
Initializer. This obviously can't work if the semicolon isn't there, so this
patch makes Field the default case.
That means the caller, classMember(), must be prepared for
propertyOrMethodName() to succeed with PropertyType::Field when in fact maybe
there's nothing but gibberish coming up; but we already handle that.
Differential Revision: https://phabricator.services.mozilla.com/D26038
--HG--
extra : moz-landing-system : lando
The existing propertyName() method parses a little more than just
PropertyNames; this patch renames it, to clarify that, but the behavior is
unchanged.
There was a lot of redundancy in the implementation of getters and setters, so
this deletes a bunch of code.
Differential Revision: https://phabricator.services.mozilla.com/D26036
--HG--
extra : moz-landing-system : lando
This patch enables compilation of the tracelogger by default on nightly builds
as well as providing an environment variable (JS_TRACE_LOGGING) to enable or
disable tracelogger instrumentation when compiling Javascript. This helps to
reduce the performance impact of the Tracelogger code when not in use. In the
future, this could be improved to recompile the JS with/without Tracelogger
instrumentation when toggling Tracelogger support.
Differential Revision: https://phabricator.services.mozilla.com/D26255
--HG--
extra : moz-landing-system : lando
The BaselineScript used to contain the bytecode type map but that's now stored
in TypeScript.
Differential Revision: https://phabricator.services.mozilla.com/D27038
--HG--
extra : moz-landing-system : lando
This will help the Baseline interpreter restore its interpreterICEntry field
without calling into C++.
Depends on D27032
Differential Revision: https://phabricator.services.mozilla.com/D27033
--HG--
extra : moz-landing-system : lando
This is from Bug 1534967, and the code is wrapped with compiler option
`JS_MORE_DETERMINISTIC`, which is only enabled through
'--enable-more-deterministic' in shell configure.
Differential Revision: https://phabricator.services.mozilla.com/D26656
--HG--
extra : moz-landing-system : lando
The existing truncation code did not correctly handle the case of negative zero.
The fix is to avoid using FCMP floating-point comparisons, and check
the sign bit explicitly in a GPR.
Differential Revision: https://phabricator.services.mozilla.com/D26381
--HG--
extra : moz-landing-system : lando
Nightly-only for now because the proposal only just reached stage 3.
Promise.allSettled is similar to Promise.all, except that each element also has
an own reject handler. Apart from that most code from Promise.all can be reused
for Promise.allSettled, including calling the `CommonPerformPromiseAllRace`
helper function.
Because each element has an own reject handler and we need to track if either
function of the resolve/reject handler pair was already called, it's not
possible to reuse the same trick as in `PromiseAllResolveElementFunction` where
the data-holder slot is used to track if the handler was already called. Instead
`PromiseAllSettledElementFunction` uses the values array to check if the
current index position is still set to `undefined` as a mean to verify that the
resolving functions for each element weren't already called.
Differential Revision: https://phabricator.services.mozilla.com/D25209
--HG--
extra : moz-landing-system : lando