This adds a JS API to set a performance hint which tells the engine whether a global is in pageload or not. The engine keeps a count so it knows whether any global for that runtime is in pageload, and adjusts GC thresholds appropriately. Currently this strongly discourages atoms GC by doubleing the trigger threshold. This does not disallow it entirely, but with this change it should almost never happen.
This is meant to be a temporary fix. When the stencil project lands we will not have this annoying dependency between parsing and atoms zone GC and can remove this change.
Differential Revision: https://phabricator.services.mozilla.com/D60972
--HG--
extra : moz-landing-system : lando
This makes it easier to update test262, because it's no longer required to
manually mark each WeakRef test in js/src/tests/jstests.list.
Differential Revision: https://phabricator.services.mozilla.com/D60512
--HG--
extra : moz-landing-system : lando
Update test262 to pick up the changed `eval` in parameter expressions tests.
Differential Revision: https://phabricator.services.mozilla.com/D60510
--HG--
extra : moz-landing-system : lando
Removes the direct eval calls, because they're now leading to SyntaxErrors when
attempting to redeclare existing parameters.
Differential Revision: https://phabricator.services.mozilla.com/D60509
--HG--
extra : moz-landing-system : lando
The specification installs the implicit "arguments" binding in the same
lexical environment as the other parameters, but our implementation requires an
extra check to report this redeclaration SyntaxError.
Differential Revision: https://phabricator.services.mozilla.com/D60508
--HG--
extra : moz-landing-system : lando
BytecodeEmitter.cpp:
The normal `DestructuringFlavor::Declaration` can now be used for destructuring
parameter declarations.
Scope.cpp:
The function scope now always acts as a variable scope, even when parameter
expression are present, so we need to set the `QUALIFIED_VAROBJ` flag
unconditionally.
Differential Revision: https://phabricator.services.mozilla.com/D60500
--HG--
extra : moz-landing-system : lando
The event source's playback state can represent if the media is currently playing. Therfore, whenever it changes, we should update the media center's playback state as well in order to show correct controller icon (eg. play and pause) on the touch bar.
Differential Revision: https://phabricator.services.mozilla.com/D60024
--HG--
extra : moz-landing-system : lando
2020-01-27 J.C. Jones <jjones@mozilla.com>
* lib/freebl/blinit.c:
Bug 1602386 - clang-format r=bustage
[4bf79c4d2954] [tip]
2020-01-27 Piotr Kubaj <pkubaj@FreeBSD.org>
* lib/freebl/Makefile, lib/freebl/blinit.c:
Bug 1602386 - Fix build on FreeBSD/powerpc platforms. r=jcj
FreeBSD has elf_aux_info instead of getauxval, but only since
FreeBSD 12. Previous versions (11 is still supported) don't have any
equivalent and users need to query sysctl manually.
[f2ac5e318886]
2020-01-27 Jan Beich <jbeich@FreeBSD.org>
* lib/freebl/blinit.c:
Bug 1609181 - Detect ARM CPU features on FreeBSD. r=jcj
Implement `getauxval` via `elf_aux_info` to avoid code duplication.
`AT_HWCAP*` can be used on powerpc* and riscv64 as well.
[edb60bae9219]
2020-01-22 Martin Thomson <mt@lowentropy.net>
* lib/zlib/README, lib/zlib/README.nss, lib/zlib/adler32.c,
lib/zlib/compress.c, lib/zlib/crc32.c, lib/zlib/crc32.h,
lib/zlib/deflate.c, lib/zlib/deflate.h, lib/zlib/gzguts.h,
lib/zlib/gzlib.c, lib/zlib/gzread.c, lib/zlib/gzwrite.c,
lib/zlib/infback.c, lib/zlib/inffast.c, lib/zlib/inffixed.h,
lib/zlib/inflate.c, lib/zlib/inflate.h, lib/zlib/inftrees.c,
lib/zlib/trees.c, lib/zlib/trees.h, lib/zlib/uncompr.c,
lib/zlib/zconf.h, lib/zlib/zlib.h, lib/zlib/zutil.c,
lib/zlib/zutil.h:
Bug 1547639 - Update zlib to 1.2.11, r=jcj
[91f3f0749d0b]
* lib/zlib/README.nss, lib/zlib/config.mk, lib/zlib/example.c,
lib/zlib/manifest.mn, lib/zlib/minigzip.c, lib/zlib/vendor.sh,
lib/zlib/zlib.gyp:
Bug 1547639 - Automatic vendoring of zlib, r=jcj
[fc128963a9aa]
Differential Revision: https://phabricator.services.mozilla.com/D61126
--HG--
extra : moz-landing-system : lando
This was missing a check and as a result we were hanging. The simplified setup
is as follows:
<dialog>
#shadow-root
<panel>
<!-- nothing focusable here -->
And chrome code calling advanceFocusIntoSubtree with <panel> as the start
content.
We first try starting at <panel>, then from the root. It's in this second try
where we fail to find anything into the <panel> subtree, but we don't realize we
wrapped around and should stop.
I think we should really look into unifying the shadow dom and non-shadow dom
focus code, these bugs are somewhat nasty :/
I don't think this is observable from the web because this second iteration
happens from here:
* https://searchfox.org/mozilla-central/rev/220a3bd6063fcbe5ca50e88dcabdc7dee0aca448/dom/base/nsFocusManager.cpp#2916
And in the web case we'd hit the TabToTreeOwner call above...
Differential Revision: https://phabricator.services.mozilla.com/D61075
--HG--
extra : moz-landing-system : lando
Trial registration is not performed in the "instance" case because there the
"process" getter does not exist until the constructor is invoked, which is not
expected to happen until after registration.
Differential Revision: https://phabricator.services.mozilla.com/D59441
--HG--
extra : moz-landing-system : lando
To avoid a clang-10 failure with `error: mixture of designated and non-designated initializers in the same initializer list is a C99 extension [-Werror,-Wc99-designator]`
Differential Revision: https://phabricator.services.mozilla.com/D61133
--HG--
extra : moz-landing-system : lando
Rule for Beta and Release on Android must be declared before general Android
one because first matching rule gets applied.
Differential Revision: https://phabricator.services.mozilla.com/D61099
--HG--
extra : moz-landing-system : lando
The following methods are removed:
1. notifyChannelClassifierProtectionDisabled
2. notifyCookieAllowed
3. notifyCookieBlocked
Depends on D56875
Differential Revision: https://phabricator.services.mozilla.com/D57630
--HG--
extra : moz-landing-system : lando