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