This field now just caches the IsReflectable() field from the method
info, so get rid of it.
Differential Revision: https://phabricator.services.mozilla.com/D26071
--HG--
extra : moz-landing-system : lando
XPCConvert::IsMethodReflectable() is derived entirely from
nsXPTMethodInfo, so we can compute it at build time and include it in
nsXPTMethodInfo. It is the only use of mNotXPCOM and mHidden, so we
can get rid of those fields at the same time.
This paves the way for getting rid of XPCWrappedJSClass::mDescriptors
in the next patch.
Differential Revision: https://phabricator.services.mozilla.com/D26070
--HG--
extra : moz-landing-system : lando
There is only a single XPC JS runtime now, so there's no need to keep a
special pointer around.
Differential Revision: https://phabricator.services.mozilla.com/D26068
--HG--
extra : moz-landing-system : lando
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process
Differential Revision: https://phabricator.services.mozilla.com/D23330
--HG--
extra : moz-landing-system : lando
Left shifts exhibit undefined behavior if the sign bit changes, which
would happen in this code for indices that are 31 mod 32. Fix this by
always making sure the shifted value is an unsigned integer.
Differential Revision: https://phabricator.services.mozilla.com/D25476
--HG--
extra : moz-landing-system : lando
This ensures the JS shell and browser behave the same way and it's nice for fuzzing.
Differential Revision: https://phabricator.services.mozilla.com/D25204
--HG--
extra : moz-landing-system : lando
Also adds a javascript.options.ion.full.threshold browser pref and similar shell
flags.
This doesn't rename the existing prefs yet.
Differential Revision: https://phabricator.services.mozilla.com/D24156
--HG--
extra : moz-landing-system : lando
In bug 256180, the size of the stack on 64-bit Windows was changed from 2MB to
8MB, and on 32-bit Windows, from 1MB to 1.5MB. This is so large that it takes
significantly longer for a runaway recursive function to throw "too much
recursion", which causes terrible performance in scripts obfuscated using
obfuscator.io.
This patch leaves the actual stack size as-is, but changes the
JS-engine-specific stack quota back to 2MB on 64-bit Windows (6MB if ASAN is
enabled). 32-bit Windows is unaffected by the new cap.
Differential Revision: https://phabricator.services.mozilla.com/D24597
--HG--
extra : moz-landing-system : lando
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process
Differential Revision: https://phabricator.services.mozilla.com/D23330
--HG--
extra : moz-landing-system : lando
Replaced instances of callers in both C++ and JS files to query the state from the principal directly.
Differential Revision: https://phabricator.services.mozilla.com/D22532
--HG--
extra : moz-landing-system : lando
Noticed by Ian Moody [:Kwan] while watching test output. (!)
The test was introduced in bug 515475, 10 years ago. However, the syntax used
in this patch seems to have been removed from SpiderMonkey around that time,
maybe even before the patch landed; that is, this is not among the syntax
removed in bug 517580. As far as I can tell, this test has never functioned
properly.
Differential Revision: https://phabricator.services.mozilla.com/D24236
--HG--
extra : moz-landing-system : lando
This creates a shell command-line option, `--enable-experimental-fields`, and a
Gecko pref, `javascript.options.experimental.fields`.
Both are off by default everywhere, for now.
Differential Revision: https://phabricator.services.mozilla.com/D22045
--HG--
extra : moz-landing-system : lando
This creates a shell command-line option, `--enable-experimental-fields`, and a
Gecko pref, `javascript.options.experimental.fields`.
Both are off by default everywhere, for now.
Differential Revision: https://phabricator.services.mozilla.com/D22045
--HG--
extra : moz-landing-system : lando
`CompartmentPrivate::GetScope()` was added so callers don't have to do `scope.get()`
manually. The `scope` field is now private and was renamed to `mScope`.
Also replaces some `CompartmentPrivate::Get(obj)->scope` instances with
`ObjectScope(obj)`. It's equivalent but shorter.
Differential Revision: https://phabricator.services.mozilla.com/D22664
--HG--
extra : moz-landing-system : lando
XPCWrappedNativeScope is now allocated and destroyed with the CompartmentPrivate
that owns it. In follow-up bugs we could merge the two classes (see bug 1032928).
This also removes the dying-scopes list. XPCJSRuntime now stores the list of all
scopes as mozilla::LinkedList.
Differential Revision: https://phabricator.services.mozilla.com/D22492
--HG--
extra : moz-landing-system : lando
Renamed the test to reflect that it is really just a test of the script preloader
as well. I just moved it to get it close to the ScriptPreloader and near existing
tests.
Differential Revision: https://phabricator.services.mozilla.com/D22330
--HG--
rename : testing/marionette/harness/marionette_harness/tests/unit/test_startup_caches.py => js/xpconnect/tests/marionette/test_preloader_telemetry.py
extra : moz-landing-system : lando