Граф коммитов

2711 Коммитов

Автор SHA1 Сообщение Дата
Jon Coppeard 8b73371be0 Bug 1407593 - Report embedding leaks of JS GC things r=sfink,sfink?
Patch to report JS GC things that are live at shutdown as leaks by calling MOZ_LOG_CTOR for them. The JS engine now clears any remaining roots to prevent dangling pointers to freed memory after shutdown. I made XPCJSRuntime::Shutdown keep the weak pointer update callbacks as sometimes these tables have entries remaining at shutdown (if there are leaks) and we need the callbacks to update them.

This is looking more green on try now.

Differential Revision: https://phabricator.services.mozilla.com/D40449

--HG--
extra : moz-landing-system : lando
2019-08-13 08:31:49 +00:00
André Bargull 268981bb20 Bug 1539780: Remove "--with-intl-api=build" build config option. r=jwalden
There are about the same number of occurrences of "ENABLE_INTL_API" and "EXPOSE_INTL_API"
in the tree, so preferring one over the other doesn't lead to fewer changes. Therefore
I went with "ENABLE_INTL_API", because "ENABLE_" (resp. "MOZ_ENABLE") is already used as
the prefix for other preprocessor ifdef's.

Differential Revision: https://phabricator.services.mozilla.com/D41188

--HG--
extra : moz-landing-system : lando
2019-08-09 19:43:19 +00:00
Jon Coppeard d21beb7f9e Bug 1572782 - Remove unused js::FreeOp alias and remaining references r=tcampbell?
Differential Revision: https://phabricator.services.mozilla.com/D41413

--HG--
extra : moz-landing-system : lando
2019-08-12 12:35:11 +00:00
Jon Coppeard 6c416aec4d Bug 1572782 - Replace internal use of js::FreeOp with JSFreeOp r=tcampbell?
Sorry for the huge patch.  This is pretty much a search and replace of all uses of js::FreeOp.

Differential Revision: https://phabricator.services.mozilla.com/D41412

--HG--
extra : moz-landing-system : lando
2019-08-12 10:43:51 +00:00
Jon Coppeard a00726d223 Bug 1572782 - Remove js::FreeOp and make JSFreeOp opaque in public API r=tcampbell?
Merge js::FreeOp and JSFreeOp, but alias the former to the latter while we fix uses.

Differential Revision: https://phabricator.services.mozilla.com/D41410

--HG--
extra : moz-landing-system : lando
2019-08-12 10:43:32 +00:00
Oana Pop Rus 44aafcc0d0 Backed out 4 changesets (bug 1572782) for build bustages at build/src/obj-firefox/dist/include/nsIXPCScriptable.h on a CLOSED TREE
Backed out changeset ec9d15c69bc8 (bug 1572782)
Backed out changeset 8239e4baa0f4 (bug 1572782)
Backed out changeset 9fd7bea2b512 (bug 1572782)
Backed out changeset 11d750555fe1 (bug 1572782)
2019-08-12 13:37:03 +03:00
Jon Coppeard fa84e34044 Bug 1572782 - Remove unused js::FreeOp alias r=tcampbell?
Differential Revision: https://phabricator.services.mozilla.com/D41413

--HG--
extra : moz-landing-system : lando
2019-08-12 10:16:04 +00:00
Jon Coppeard 8186c345e2 Bug 1572782 - Replace internal use of js::FreeOp with JSFreeOp r=tcampbell?
Sorry for the huge patch.  This is pretty much a search and replace of all uses of js::FreeOp.

Differential Revision: https://phabricator.services.mozilla.com/D41412

--HG--
extra : moz-landing-system : lando
2019-08-12 10:16:02 +00:00
Jon Coppeard 9d51a35e93 Bug 1572782 - Remove js::FreeOp and make JSFreeOp opaque in public API r=tcampbell?
Merge js::FreeOp and JSFreeOp, but alias the former to the latter while we fix uses.

Differential Revision: https://phabricator.services.mozilla.com/D41410

--HG--
extra : moz-landing-system : lando
2019-08-12 10:15:57 +00:00
Steve Fink e79384d24c Bug 1572207 - Update AutoStableStringChars comment, r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D41421

--HG--
extra : moz-landing-system : lando
2019-08-09 20:41:12 +00:00
Jon Coppeard 3fb04aa631 Bug 1571021 - Key wrapper maps by wrapped type directly and remove CrossCompartmentKey class r=jandem?
Differential Revision: https://phabricator.services.mozilla.com/D41184

--HG--
extra : moz-landing-system : lando
2019-08-09 10:05:45 +00:00
Yoshi Cheng-Hao Huang a29edd5706 Bug 1570590 : trace weak references in tracing. r=jonco
Introduces SweepingTracer and TraceWeakEdge to trace weak references in
AtomsTable::sweep and AtomsTable::sweepIncrementally while sweeping.
Also rename those two functions to traceWeak and traceWeakIncrementally.

Differential Revision: https://phabricator.services.mozilla.com/D40939

--HG--
extra : moz-landing-system : lando
2019-08-08 12:27:50 +00:00
Andy Wingo 673d9945f5 Bug 1570886 - Remove enableBigInt run-time flag r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D40389

--HG--
extra : moz-landing-system : lando
2019-08-07 14:41:36 +00:00
Razvan Maries 2d23034c48 Backed out changeset 145b187e750f (bug 1570886) for perma xpcshell fails on test_objectgrips-08.js. CLOSED TREE 2019-08-06 20:12:16 +03:00
Andy Wingo 0f20ca98c4 Bug 1570886 - Remove enableBigInt run-time flag r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D40389

--HG--
extra : moz-landing-system : lando
2019-08-06 10:36:09 +00:00
Coroiu Cristina 37c688712e Backed out changeset 596ae187c20b (bug 1570886) for xpcshell failures at devtools/server/tests/unit/test_objectgrips-08.js on a CLOSED TREE 2019-08-06 12:47:50 +03:00
Andy Wingo 3f1bd1cb5a Bug 1570886 - Remove enableBigInt run-time flag r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D40389

--HG--
extra : moz-landing-system : lando
2019-08-05 13:00:28 +00:00
Andrew McCreight 6633271226 Bug 1570484 - Nuke Xray waivers for remote outer window proxies. r=bzbarsky,tcampbell,jonco
Remote outer window proxies can't be the target of a CCW, because if
you attempt to wrap them we just create a new outer window proxy.
Therefore, they can't be the target of an Xray wrapper, so they can't
have Xray waivers that do anything useful. However, if we do a
navigation from a local iframe to a remote iframe, we'll transplant a
remote outer window proxy onto a local outer window proxy, which might
have an Xray. This can cause some issues, particularly if we later
navigate back to a different local window.

To work around this, this patch nukes Xray waivers on navigation to a
remote outer window proxy. This makes Xray waiver behavior
inconsistent with the non-Fission behavior, but it is safer to leave
the non-Fission behavior alone for now, for fear of breaking addons.

Differential Revision: https://phabricator.services.mozilla.com/D40116

--HG--
extra : moz-landing-system : lando
2019-08-05 16:32:31 +00:00
Brindusan Cristian 2d3a2752f0 Backed out changeset 344a525cddbc (bug 1570484) for spidermonkey bustage at BaseProxyHandler.cpp:389:25. CLOSED TREE 2019-08-05 18:25:24 +03:00
Andrew McCreight 9dc3bbe1f0 Bug 1570484 - Nuke Xray waivers for remote outer window proxies. r=bzbarsky,tcampbell,jonco
Remote outer window proxies can't be the target of a CCW, because if
you attempt to wrap them we just create a new outer window proxy.
Therefore, they can't be the target of an Xray wrapper, so they can't
have Xray waivers that do anything useful. However, if we do a
navigation from a local iframe to a remote iframe, we'll transplant a
remote outer window proxy onto a local outer window proxy, which might
have an Xray. This can cause some issues, particularly if we later
navigate back to a different local window.

To work around this, this patch nukes Xray waivers on navigation to a
remote outer window proxy. This makes Xray waiver behavior
inconsistent with the non-Fission behavior, but it is safer to leave
the non-Fission behavior alone for now, for fear of breaking addons.

Differential Revision: https://phabricator.services.mozilla.com/D40116

--HG--
extra : moz-landing-system : lando
2019-08-05 14:55:43 +00:00
Paul Bone f04afcd7ec Bug 1388701 - Remove the special nursery size of 0 r=jonco
Rather than make re-enabling the nursery work correctly (because there's
various ways to disable it and we'd need to make sure we're enabling it for
the right reason).  It's simplier just to not disable it for a
gcMaxNurseryBytes of 0, and instead return an error.

Differential Revision: https://phabricator.services.mozilla.com/D39988

--HG--
extra : moz-landing-system : lando
2019-08-05 06:37:55 +00:00
Tom Ritter 0b9efb84de Bug 1567623 - Add Event Telemetry for cases where eval is triggered as System Principal r=chutten,bzbarsky,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D39559

--HG--
extra : moz-landing-system : lando
2019-08-01 20:45:31 +00:00
Jon Coppeard 2d89bbf3df Bug 1569564 - Remove the original malloc counter infrastructure r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D39735

--HG--
extra : moz-landing-system : lando
2019-07-31 09:13:36 +00:00
Jon Coppeard 9730094120 Bug 1569564 - Replace the JIT code counter using the new precise tracking infrastructure r=sfink
This replaces the original JIT code memory counter with one that tracks the allocated JIT code precisely.  This now uses a fixed threshold which was the original intention.

This also removes the INCREMENTAL_MALLOC_TRIGGER GC reason and all GCs triggered by malloc allocations use TOO_MUCH_MALLOC, so whether a GC is incremental is separated from the trigger reason.

Differential Revision: https://phabricator.services.mozilla.com/D39734

--HG--
extra : moz-landing-system : lando
2019-07-31 09:13:19 +00:00
Jon Coppeard 7826afea3a Bug 1569560 - Add tuning parameters for new malloc counter r=sfink
This adds two new parameters.  The growth fator is set to 1.5 and the base to 42MB.  Trail and error showed that this latter value ended up triggering GCs roughtly in line with the old malloc counter.  These values make the initial malloc threshold ~64MB.

Differential Revision: https://phabricator.services.mozilla.com/D39730

--HG--
extra : moz-landing-system : lando
2019-07-31 09:12:37 +00:00
Paul Bone d1b58951a1 Bug 1569840 - Add a nurseryBytes runtime parameter r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D39836

--HG--
extra : moz-landing-system : lando
2019-07-31 00:34:15 +00:00
André Bargull 2684e5023e Bug 1433303 - Part 1: Implement Intl.Locale proposal. r=jwalden
Intl.Locale.m{ax,in}imize() are implemented in part 2.

Differential Revision: https://phabricator.services.mozilla.com/D38874

--HG--
extra : moz-landing-system : lando
2019-07-29 09:35:53 +00:00
Jan de Mooij a76503da23 Bug 1567388 part 3 - Stop Baseline-compiling scripts for the definite properties analysis. r=tcampbell
Now that IonBuilder only depends on JitScript we no longer need to have a BaselineScript.

Differential Revision: https://phabricator.services.mozilla.com/D39168

--HG--
extra : moz-landing-system : lando
2019-07-26 10:11:27 +00:00
Yoshi Cheng-Hao Huang e17d60cbf4 Bug 1551810 - Part 1: return bool in CallbackTracer methods. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D38980

--HG--
extra : moz-landing-system : lando
2019-07-26 08:59:38 +00:00
Ciure Andrei 3e816e5942 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-07-25 19:24:23 +03:00
Ciure Andrei 282afccb14 Merge inbound to mozilla-central. a=merge 2019-07-25 19:20:00 +03:00
Iain Ireland 79d0a81073 Bug 1568564: Nightly: Strengthen assertion in set/toPrivate r=luke
Differential Revision: https://phabricator.services.mozilla.com/D39251

--HG--
extra : moz-landing-system : lando
2019-07-24 23:19:57 +00:00
Jon Coppeard 1eed8d362f Bug 1568539 - Remove unnecessary single use of ExposeScriptToActiveJS r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D39201
2019-07-24 15:54:32 +01:00
Jeff Walden f03426c144 Bug 1566784 - Increase the size of the buffer that JS::NumberToString fills with the result of ToString applied to the provided double to fix overflows. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D38442

--HG--
extra : rebase_source : 517c08a1ccde7f3856e939528db116d8847b98dc
extra : amend_source : 7ef6f91c596f52713fd998d410eef7a32d385912
2019-07-17 18:07:35 -07:00
Ted Campbell 21ddd20f03 Bug 1565720 - Use UniqueChars in MemoryMetrics.{cpp,h}. r=jwalden,froydnj
Avoid manual allocations and use default constructors when possible to
simplify code.

Differential Revision: https://phabricator.services.mozilla.com/D37946

--HG--
extra : moz-landing-system : lando
2019-07-22 14:15:58 +00:00
Brian Hackett e00511f3ae Bug 1554524 Part 5 - Emit instrumentation opcodes when they have been set in a realm, r=tcampbell.
--HG--
extra : rebase_source : c5a88ed48ffc0a9b14daf8e9be5bd5c573f871be
2019-07-08 10:23:34 -10:00
Brian Hackett 07567615d5 Bug 1554524 Part 4 - Add Debugger interface for instrumenting scripts, r=jimb,tcampbell.
--HG--
extra : rebase_source : a0adc06f428c224c23755531b8dee1063cd591fb
2019-07-08 09:41:21 -10:00
André Bargull ace8a3d15b Bug 1543677 - Part 1: Support BigInt in NumberFormat and toLocaleString. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D27123

--HG--
extra : moz-landing-system : lando
2019-07-19 11:41:19 +00:00
Ted Campbell 4dfa618f5d Bug 1565720 - More field initializers fixes in MemoryMetrics.h. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D38485

--HG--
extra : moz-landing-system : lando
2019-07-18 22:23:05 +00:00
Ted Campbell 78d3ac41a6 Bug 1545278 - Add js::ObjectMayBeSwapped and restrict transplanting. r=iain
JS_TransplantObject is a very powerful API that results in the JITs
having to worry about the type of objects changing in surprising ways.
In practice though, there are very limited uses of this API so we can
add an API to determine which objects have to worry about transplanting.
This can then by asserted in JITs to document places that optimize
performance by expecting not to deal with transplants.

Differential Revision: https://phabricator.services.mozilla.com/D27975

--HG--
extra : moz-landing-system : lando
2019-07-18 20:41:01 +00:00
Ted Campbell 262540dd9d Bug 1565720 - Use field initializers in MemoryMetrics.h. r=jwalden
Also use default constructors when possible to remove duplications.

Depends on D37944

Differential Revision: https://phabricator.services.mozilla.com/D37945

--HG--
extra : moz-landing-system : lando
2019-07-15 22:48:49 +00:00
Ted Campbell 97bd94a015 Bug 1565720 - Use Maybe instead of manual allocations in MemoryMetrics.h. r=jwalden
Replace HashMap<T>* with Maybe<HashMap<T>> in memory reporting to have
simpler code and better ergonimics.

Differential Revision: https://phabricator.services.mozilla.com/D37944

--HG--
extra : moz-landing-system : lando
2019-07-18 13:17:10 +00:00
Ted Campbell 60b8fd6025 Bug 1565720 - Fix formatting in MemoryMetrics.h. r=jwalden
Add extra semi-colons to avoid confusing clang-format.

Differential Revision: https://phabricator.services.mozilla.com/D37943

--HG--
extra : moz-landing-system : lando
2019-07-15 22:43:50 +00:00
Iain Ireland 28a1aa14d3 Bug 1505902: Clean up private Value representation r=djvj
Our previous representation of private values assumed that the private pointer was aligned, and did some bit twiddling to try to disguise it as a double. Since bug 1293313, it has been unnecessary to set the top bit for a double, so that bit twiddling is unnecessary. There are actual use cases where private values are unaligned, so we should fix this.

While cleaning this up, I also removed unboxPrivateValue, because its only use could be better written using loadPrivateValue directly.

Differential Revision: https://phabricator.services.mozilla.com/D38127

--HG--
extra : moz-landing-system : lando
2019-07-16 19:10:30 +00:00
Ted Campbell 8df08d5f7d Bug 1564927 - Move off-thread API for BinAST to the right header. r=jwalden
Also reorder functions in OffThreadScriptCompilation to group by
data source type.

Differential Revision: https://phabricator.services.mozilla.com/D37575

--HG--
extra : moz-landing-system : lando
2019-07-15 22:43:28 +00:00
Jan de Mooij 5ea23033d2 Bug 1565175 - Fix HeapSnapshotHandler to not add nodes to |visited| until they're written to the core dump. r=fitzgen
Because ShouldIncludeEdge considers the |origin| node as well, it was possible for
the old code to 'miss' nodes and never write them to the core dump even though we
also wrote some edges with the node as referent.

Differential Revision: https://phabricator.services.mozilla.com/D37701

--HG--
extra : moz-landing-system : lando
2019-07-11 18:41:43 +00:00
Jeff Walden 3b5e9c949f Bug 1564589 - Implement an infallible JS::NumberToString that stores null-terminated ToString(Number value) into a static-length buffer. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D37487

--HG--
extra : moz-landing-system : lando
2019-07-10 23:55:09 +00:00
Jan de Mooij 93d6f816f0 Bug 1564349 part 1 - Convert Baseline/Ion/NativeRegExp prefs from ContextOptions to JitOptions. r=nbp,smaug
Using process-wide prefs is consistent with the other JIT options and is simpler
to work with (one place to initialize for all runtimes).

Differential Revision: https://phabricator.services.mozilla.com/D37385

--HG--
extra : moz-landing-system : lando
2019-07-10 09:43:39 +00:00
Boris Zbarsky 0809eb5853 Bug 1561887 part 1. Add an overload of JS::ObjectIsMarkedGray that works on TenuredHeap. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D36868

--HG--
extra : moz-landing-system : lando
2019-07-08 22:52:51 +00:00
Greg Tatum bb7857b872 Bug 1559486 - Remove scriptFilename from RecordAllocationInfo; r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D36651

--HG--
extra : moz-landing-system : lando
2019-07-04 05:19:58 +00:00