Commit Graph

1354 Commits

Author SHA1 Message Date
Jon Coppeard
5b160527d2 Bug 1686249 - Replace the 'GC mode' with two GC parameters r=sfink
This doesn't change the current defaults, only the comments and default values which were wrong/misleading - see the current call to setGCMode() in the GCRuntime constructor.

Differential Revision: https://phabricator.services.mozilla.com/D102717
2021-01-23 08:49:17 +00:00
Razvan Maries
3999c5d799 Backed out changeset 8f99f3809630 (bug 1683220) for performance regression (bug 1684434). CLOSED TREE 2021-01-07 14:55:07 +02:00
Steve Fink
3df2fad2b1 Bug 1683220 - Remove nsJSContext::MaybeRunNextCollectorSlice entirely r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D96209
2020-12-21 17:23:26 +00:00
Steve Fink
8fb7c5c091 Bug 1678416 - Create CCGCScheduler static methods to allow providing values on-demand to the scheduler, as well as provide a way to mock up the host for testing (see next patch) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D95952
2020-12-16 00:12:15 +00:00
Steve Fink
d505c9684d Bug 1678416 - Move statics into local scopes where they are used. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D94795
2020-12-11 19:04:51 +00:00
Steve Fink
75bd801fa5 Bug 1662254 - Rename CC_WAITING -> CC_FINISHED r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D94792
2020-12-11 19:04:31 +00:00
Steve Fink
1cffc37932 Bug 1662254 - Move bodies of large inline CCGCScheduler methods after the class declaration r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D94791
2020-12-11 19:04:27 +00:00
Steve Fink
3659b408ce Bug 1678416 - Remove a couple of calls to TimeStamp::Now() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90900
2020-12-04 16:03:13 +00:00
Steve Fink
ef22fe1176 Bug 1678416 - Merge ICCRunner and CCRunner into a single CCRunner r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90633
2020-12-04 16:03:07 +00:00
Steve Fink
d057014498 Bug 1678416 - Move more state to CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D97692
2020-12-04 16:02:59 +00:00
Razvan Maries
528c4accb5 Backed out 5 changesets (bug 1678416) for build bustages on CCGCScheduler.h. CLOSED TREE
Backed out changeset cc5f7ecb3922 (bug 1678416)
Backed out changeset 61d9f960b80e (bug 1678416)
Backed out changeset 882f7ebe33fe (bug 1678416)
Backed out changeset e845a32a60bd (bug 1678416)
Backed out changeset 85f35f5749a0 (bug 1678416)
2020-12-04 04:55:39 +02:00
Steve Fink
4d5026056c Bug 1678416 - Remove a couple of calls to TimeStamp::Now() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90900
2020-12-04 02:40:22 +00:00
Steve Fink
b5062b7ac5 Bug 1678416 - Merge ICCRunner and CCRunner into a single CCRunner r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90633
2020-12-04 02:40:14 +00:00
Steve Fink
5166eb7937 Bug 1678416 - Move more state to CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D97692
2020-12-04 02:40:13 +00:00
Simon Giesecke
46908cfb51 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Brindusan Cristian
4b189b50e8 Backed out changeset 16291a47acda (bug 1662254) for causing Bug 1677764. a=backout DONTBUILD 2020-11-19 21:43:10 +02:00
Steve Fink
0e7dbfc3b7 Bug 1662254 - Merge ICCRunner and CCRunner into a single CCRunner r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90633
2020-11-13 19:38:02 +00:00
Bogdan Tara
a902379665 Backed out 10 changesets (bug 1662254) for lint failure on generate_static_pref_list.py CLOSED TREE
Backed out changeset 972e63387191 (bug 1662254)
Backed out changeset 3a9d6f0aa380 (bug 1662254)
Backed out changeset 4b3ffe7fe1af (bug 1662254)
Backed out changeset 4834b1025611 (bug 1662254)
Backed out changeset ec1f7afe8a2d (bug 1662254)
Backed out changeset c7a6b927b1de (bug 1662254)
Backed out changeset 2427d85b2605 (bug 1662254)
Backed out changeset 979bf4ac97bb (bug 1662254)
Backed out changeset 3e443333c636 (bug 1662254)
Backed out changeset a5261578ebfc (bug 1662254)
2020-11-12 23:59:07 +02:00
Steve Fink
05f0343002 Bug 1662254 - Move statics into local scopes where they are used. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D94795
2020-11-12 19:05:56 +00:00
Steve Fink
b7bf497685 Bug 1662254 - Rename CC_WAITING -> CC_FINISHED r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D94792
2020-11-12 19:05:32 +00:00
Steve Fink
97d65e6745 Bug 1662254 - Move bodies of large inline CCGCScheduler methods after the class declaration r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D94791
2020-11-12 19:05:28 +00:00
Steve Fink
fadefafb7a Bug 1662254 - Remove a couple of calls to TimeStamp::Now() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90900
2020-11-12 19:05:08 +00:00
Steve Fink
9f1ec52ea3 Bug 1662254 - Merge ICCRunner and CCRunner into a single CCRunner r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90633
2020-11-12 19:05:00 +00:00
Steve Fink
2a4942b079 Bug 1662254 - Move last remnant of scheduling logic to GetNextCCRunnerAction, rename the states r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90892
2020-10-15 15:03:44 +00:00
Steve Fink
7790f50c7a Bug 1662254 - Move incremental CC slice logic to CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89989
2020-10-15 15:02:12 +00:00
Steve Fink
3672a028e6 Bug 1662254 - Extract FireForgetSkippable from CycleCollectorStats and make CycleCollectorStats purely about gathering, recording, and reporting statistics r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89988
2020-10-15 15:03:28 +00:00
Steve Fink
ce4f196909 Bug 1662254 - Move some CC scheduling logic to CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89986
2020-10-15 15:01:48 +00:00
Steve Fink
8027e507d5 Bug 1662254 - Move ForgetSkippable budgeting into CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89977
2020-10-15 15:01:35 +00:00
Steve Fink
e09d90d939 Bug 1662254 - Move CC slice budgeting into CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88907
2020-10-15 15:01:24 +00:00
Steve Fink
f4903d051d Bug 1662254 - Move CC lockout logic into CCGCScheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88906
2020-10-15 15:01:11 +00:00
Steve Fink
4f8bc408a5 Bug 1662254 - Move CC/GC scheduling to separate header r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88905
2020-10-15 15:00:53 +00:00
Jon Coppeard
3cc5130c26 Bug 1657850 - Add prefs to control how many background threads are used for GC r=sfink
This adds a thread count for GC parallel tasks calculated from GC parameters
for a helper thread ratio and max helper thread count. It also adds one to
report the number of helper threads used for GC.

This is slightly complicated by the fact that the helper thread system is
per-process and there are potentially many JS runtimes in a process. I
disallowed setting these parameters from workers (i.e. child JS runtimes), but
there may be more than one non-worker JS runtime so this isn't perfect.

I had to swap the mutex order for the GC and helper thread locks.  Whatever
reason they were the other way round seems to have gone and this order makes
more sense to me (I see the GC lock as being 'coarser' than the helper thread
lock).

Differential Revision: https://phabricator.services.mozilla.com/D86725
2020-08-18 15:38:24 +00:00
Csoregi Natalia
82b80c68bb Backed out changeset fb664f6d43ed (bug 1657850) for failures on helper-thread-params.js. CLOSED TREE 2020-08-13 21:41:13 +03:00
Jon Coppeard
8019e55663 Bug 1657850 - Add prefs to control how many background threads are used for GC r=sfink
This adds a thread count for GC parallel tasks calculated from GC parameters
for a helper thread ratio and max helper thread count. It also adds one to
report the number of helper threads used for GC.

This is slightly complicated by the fact that the helper thread system is
per-process and there are potentially many JS runtimes in a process. I
disallowed setting these parameters from workers (i.e. child JS runtimes), but
there may be more than one non-worker JS runtime so this isn't perfect.

I had to swap the mutex order for the GC and helper thread locks.  Whatever
reason they were the other way round seems to have gone and this order makes
more sense to me (I see the GC lock as being 'coarser' than the helper thread
lock).

Differential Revision: https://phabricator.services.mozilla.com/D86725
2020-08-13 17:35:04 +00:00
Paul Bone
3e4bfd6fbe Bug 1482089 - pt 1. Remove DOM code for processing GCTelemetry r=mccr8
This code glues the JS GC code that creates the telemetry with a JS module
that processes it.  This patch removes this code unhooking these
components.

Differential Revision: https://phabricator.services.mozilla.com/D84163
2020-07-21 05:18:28 +00:00
Jon Coppeard
7578383b8e Bug 1648453 - Fix build errors caused by MacOS headers defining check macro r=smaug
These patches have triggered a case where a MacOS header defines 'check' as a macro which then conflicts with use of 'check' as a method name in AccessCheck.h, probably due to unified builds.

This was fixed independently in a couple of places before, but I think it makes sense to move the fix to AccessCheck.h itself.

Differential Revision: https://phabricator.services.mozilla.com/D83796
2020-07-17 17:36:04 +00:00
Razvan Maries
90e72f44da Backed out 4 changesets (bug 1648453) for hazzard bustages on CycleCollectedJSContext.cpp. CLOSED TREE
Backed out changeset 9598a75cca47 (bug 1648453)
Backed out changeset 473e7d55a25e (bug 1648453)
Backed out changeset 0afcee198ecd (bug 1648453)
Backed out changeset 623252539387 (bug 1648453)
2020-07-17 00:01:11 +03:00
Jon Coppeard
708f191c93 Bug 1648453 - Fix build errors caused by MacOS headers defining check macro r=smaug
These patches have triggered a case where a MacOS header defines 'check' as a macro which then conflicts with use of 'check' as a method name in AccessCheck.h, probably due to unified builds.

This was fixed independently in a couple of places before, but I think it makes sense to move the fix to AccessCheck.h itself.

Differential Revision: https://phabricator.services.mozilla.com/D83796
2020-07-16 15:37:42 +00:00
Simon Giesecke
d2e71d5859 Bug 1648010 - Remove NS_NAMED_LITERAL_CSTRING and NS_NAMED_LITERAL_STRING macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80631
2020-07-01 08:42:31 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kris Maglione
e443589f1b Bug 1645510: Part 2 - Avoid using the unprivileged junk scope where possible. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D79720
2020-06-27 03:06:28 +00:00
Tom Schuster
a7887ce4fb Bug 1595046 - Make it possible to inspect every exception value in the web console. r=jonco,baku,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D64437
2020-05-08 20:54:17 +00:00
Steve Fink
41f5b4f079 Bug 1633176 - re-land incremental weakmap marking
Differential Revision: https://phabricator.services.mozilla.com/D74079
2020-05-06 16:38:33 +00:00
Steve Fink
d2f38456fe Backed out incremental weakmap marking (bug 1167452 and bug 1633176) to postpone until after Fx77
Differential Revision: https://phabricator.services.mozilla.com/D73394
2020-05-01 00:53:15 +00:00
Jon Coppeard
e63c14baa3 Bug 1633752 - Calculate non-incremental threshold based on heap size and increase it for smaller heaps r=sfink
This adds a splits the non-incremental threshold parameter into one for small heaps and one for large.  What counts as large and small are controlled by the existing parameters that were previously used for dynamic heap growth.  I also renamed the parameter from "non-incremental threshold" to "incremental limit".

The small heap parameter is increased to 1.4.  This avoids non-incremental GC on facebook and reddit as reported in the dependent bugs and allows us to remove the splay latency hack that was previously necessary.

Differential Revision: https://phabricator.services.mozilla.com/D72903
2020-04-29 07:45:19 +00:00
Jon Coppeard
b377be5cd1 Bug 1633457 - Rename some GC parameters for clarity r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73012
2020-04-29 21:54:22 +00:00
Jon Coppeard
c3b204df69 Bug 1633405 - Remove dynamic GC options that are enabled everywhere r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72696
2020-04-28 07:59:47 +00:00
Noemi Erli
1eaee04fd4 Backed out changeset 1fc50aa5c6bc (bug 1633405) for causing bustages in bigint.js CLOSED TREE 2020-04-28 13:49:51 +03:00
Jon Coppeard
73bca2cede Bug 1633405 - Remove dynamic GC options that are enabled everywhere r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72696
2020-04-28 07:59:47 +00:00
Sylvestre Ledru
3322a82478 Bug 1619165 - Reformat recent changes to the Google coding style r=andi
First reformat with clang-format 10

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D68802
2020-04-25 09:40:08 +00:00