Commit graph

134 commits

Author SHA1 Message Date
Olli Pettay
07c9e45ef3 Bug 1868744 - If JS engine triggered a GC slice, don't trigger another too soon from CCGCScheduler, r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D195755
2023-12-07 12:34:33 +00:00
Jon Coppeard
72b45daca5 Bug 1865076 - Part 3: Don't clear slice budget's interrupt word when interrupt detected r=sfink
This still records that the budget has been interrupted in case the interrupt
word changes later, but it doesn't change itself. Instead we have to clear it
when setting up the budget in CCGCScheduler.

This fixes the observed problem of slices some marking threads running much
longer than others when parallel marking is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D193797
2023-11-20 16:27:28 +00:00
serge-sans-paille
2a1cd87f4f Bug 1854410 - Move global ctor from dom/base/CCGCScheduler.h out of the header to avoid duplication r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D188842
2023-09-27 07:16:11 +00:00
Jon Coppeard
0436b3f6d6 Bug 1823622 - Part 4: Make SliceBudget's interrupt word a relaxed atomic r=sfink
Since this can get checked by all marking threads it's not optimal to have this
as a sequentially consistent atomic as this will cause cache traffic every time
it's read.

We should be able to make this a relaxed atomic without observable difference
to interruptible GC.

Depends on D173129

Differential Revision: https://phabricator.services.mozilla.com/D173130
2023-03-21 18:55:19 +00:00
Steve Fink
4dc8661cff Bug 1774651 - Add a NonIdleMajorGC perfstat measurement r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D149555
2022-06-30 17:36:31 +00:00
Steve Fink
f60593707d Bug 1774651 - Add a MajorGC PerfStats metric r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D149554
2022-06-30 17:36:31 +00:00
Steve Fink
7a6aa8b314 Bug 1661293 - Move idle-time nursery GCs to a new nsJSContext::MaybePokeGC r=jonco,smaug
Differential Revision: https://phabricator.services.mozilla.com/D100367
2022-06-06 22:53:11 +00:00
Steve Fink
2a988c91ec Bug 1661293 - Rename JS::RunIdleGCTask -> JS::MaybeRunNurseryCollection and pass through the reason, also rename IDLE_TIME_COLLECTION -> EAGER_NURSERY_COLLECTION. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D139208
2022-06-06 22:53:10 +00:00
Steve Fink
f1a2f4019c Bug 1661293 - Add a CCGCScheduler.mEagerMinorGCReason field to indicate we have reached a threshold where we would like to do a minor GC if convenient. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D139207
2022-06-06 22:53:10 +00:00
Steve Fink
e9ce3ba562 Bug 1661293 - Give CCGCScheduler an mEagerMajorGCReason field (set in a later patch) to indicate that we would like to do a major GC when convenient. This is in addition to the usual mMajorGCReason for when we definitely want to do a GC. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D139206
2022-06-06 22:53:10 +00:00
Steve Fink
819ec57dae Bug 1735434 - Gather additional information for cycle collection profiler markers r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D128316
2022-05-27 23:42:54 +00:00
Narcis Beleuzu
e3d25251cc Backed out changeset 7f67e3634e8f (bug 1735434) for multiple failures/crashes on nsJSEnvironment.cpp . CLOSED TREE 2022-05-27 19:39:37 +03:00
Steve Fink
ab9c7c302b Bug 1735434 - Gather additional information for cycle collection profiler markers r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D128316
2022-05-27 15:44:22 +00:00
Butkovits Atila
21b823649b Backed out 2 changesets (bug 1767224, bug 1735434) as requested by dev. CLOSED TREE
Backed out changeset 748b1cb3e178 (bug 1767224)
Backed out changeset aaf1056d8e85 (bug 1735434)
2022-05-03 02:26:38 +03:00
Steve Fink
036abc801c Bug 1735434 - Gather additional information for cycle collection profiler markers r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D128316
2022-04-29 20:07:23 +00:00
Norisz Fay
61cd14ddcd Backed out 6 changesets (bug 1661293) for causing Bug 1758370 CLOSED TREE
Backed out changeset 8f4d646a4bf6 (bug 1661293)
Backed out changeset ec817d9e8a17 (bug 1661293)
Backed out changeset efd35f1d9bd5 (bug 1661293)
Backed out changeset 00d93cc6125f (bug 1661293)
Backed out changeset 77b0b0003ca0 (bug 1661293)
Backed out changeset 04443fa474ac (bug 1661293)
2022-03-23 17:04:22 +02:00
Steve Fink
c3b0f38d01 Bug 1661293 - Move idle-time nursery GCs to a new nsJSContext::MaybePokeGC r=jonco,smaug
Differential Revision: https://phabricator.services.mozilla.com/D100367
2022-03-03 04:21:47 +00:00
Steve Fink
2b82b28cfd Bug 1661293 - Rename JS::RunIdleGCTask -> JS::MaybeRunNurseryCollection and pass through the reason, also rename IDLE_TIME_COLLECTION -> EAGER_NURSERY_COLLECTION. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D139208
2022-03-03 04:21:47 +00:00
Steve Fink
bdd9587a3c Bug 1661293 - Add a CCGCScheduler.mEagerMinorGCReason field to indicate we have reached a threshold where we would like to do a minor GC if convenient. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D139207
2022-03-03 04:21:47 +00:00
Steve Fink
9a89af097f Bug 1661293 - Give CCGCScheduler an mEagerMajorGCReason field (set in a later patch) to indicate that we would like to do a major GC when convenient. This is in addition to the usual mMajorGCReason for when we definitely want to do a GC. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D139206
2022-03-03 04:21:46 +00:00
Steve Fink
127ac132a2 Bug 1752646 - Record whether a GC slice was triggered and budgeted for idle time r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D137355
2022-02-08 23:22:29 +00:00
Steve Fink
9f6b747106 Bug 1751543 - Skip the "can I GC yet?" check entirely in the parent process r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D137353
2022-02-08 23:22:28 +00:00
Steve Fink
ec36711a82 Bug 1747273 - Ignore the GC interrupt if the GC is running long r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D134534
2022-02-07 19:14:17 +00:00
Steve Fink
543df99e4e Bug 1672121 - Stop sGCRunner GC slice if the IdleTaskRunnerTask gets a RequestInterrupt() call r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D109631
2021-12-22 18:06:06 +00:00
Steve Fink
ec62429c88 Bug 1672121 - Implement interruptible GC slice budgets r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D109630
2021-12-22 18:06:06 +00:00
Iulian Moraru
193ccd13ad Backed out 5 changesets (bug 1672121) for various crashes on mozalloc_handle_oom. CLOSED TREE
Backed out changeset 117756828ea7 (bug 1672121)
Backed out changeset 046e37035dbc (bug 1672121)
Backed out changeset de44a280103b (bug 1672121)
Backed out changeset 4acf4539a7b4 (bug 1672121)
Backed out changeset 8001b5433e38 (bug 1672121)
2021-11-30 02:59:20 +02:00
Steve Fink
024b1ac41c Bug 1672121 - Stop sGCRunner GC slice if the IdleTaskRunnerTask gets a RequestInterrupt() call r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D109631
2021-11-29 19:59:52 +00:00
Steve Fink
0181c4d9ce Bug 1672121 - Implement interruptible GC slice budgets r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D109630
2021-11-29 19:59:52 +00:00
Paul Bone
483701e863 Bug 1725539 - p3. Don't re-create the GC runner before tha parent replies r=smaug
Depends on D122556

Differential Revision: https://phabricator.services.mozilla.com/D123098
2021-10-19 02:31:15 +00:00
Paul Bone
a9fda196b6 Bug 1725539 - p2. Provide an ordering of GC reasons r=smaug
GC reasons clobber each-other as follows:

USER_INACTIVE > FULL_GC_TIMER > all others.

To ensure that if multiple timers fire we still do the strongest GC
requested.

Depends on D122555

Differential Revision: https://phabricator.services.mozilla.com/D122556
2021-10-19 02:31:15 +00:00
Paul Bone
6ad4e172af Bug 1725539 - p1. Fix and simplify the logic for mWantAtLeastRegularGC r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D122555
2021-10-19 02:31:14 +00:00
Steve Fink
436b3f12a2 Bug 1732161 - Track CCReason for all cycle collections (replacing ccType) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D126395
2021-10-14 18:15:40 +00:00
Steve Fink
b36e10c7b1 Bug 1732161 - Replace bools with CCReasons for the scheduler control variables. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D127013
2021-10-14 18:15:39 +00:00
Steve Fink
8b5a746c24 Bug 1732161 - Add profiler marker for core part of CC r=smaug,gerald
Differential Revision: https://phabricator.services.mozilla.com/D126394
2021-10-14 18:15:38 +00:00
criss
0ecd4a450b Backed out 6 changesets (bug 1732161) for causing linux base toolchains bustages. CLOSED TREE
Backed out changeset 766a1bc74001 (bug 1732161)
Backed out changeset aed63de28354 (bug 1732161)
Backed out changeset 98eaff0d5124 (bug 1732161)
Backed out changeset 76c21ec8ffb6 (bug 1732161)
Backed out changeset 49dcac272f05 (bug 1732161)
Backed out changeset 67d81f8f413e (bug 1732161)
2021-10-14 05:38:08 +03:00
Steve Fink
0457cf4744 Bug 1732161 - Track CCReason for all cycle collections (replacing ccType) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D126395
2021-10-13 22:32:59 +00:00
Steve Fink
645dc25ccc Bug 1732161 - Replace bools with CCReasons for the scheduler control variables. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D127013
2021-10-13 22:32:58 +00:00
Steve Fink
b12754314b Bug 1732161 - Add profiler marker for core part of CC r=smaug,gerald
Differential Revision: https://phabricator.services.mozilla.com/D126394
2021-10-13 22:32:57 +00:00
Cristian Tuns
4487c2b816 Backed out 4 changesets (bug 1725539) for performance & crash regressions. CLOSED TREE
Backed out changeset a11b32e4aa7b (bug 1725539)
Backed out changeset fa262244a063 (bug 1725539)
Backed out changeset b31d0c7c8f5e (bug 1725539)
Backed out changeset c6d75ecdad79 (bug 1725539)
2021-10-13 04:59:58 -04:00
Narcis Beleuzu
a92083a114 Backed out 6 changesets (bug 1732161) for build bustages on nsCycleCollectionParticipant.h CLOSED TREE
Backed out changeset 7271b938e71a (bug 1732161)
Backed out changeset d24b8450b7ed (bug 1732161)
Backed out changeset fb1838a152f2 (bug 1732161)
Backed out changeset 84787a58a428 (bug 1732161)
Backed out changeset 6acb82c0ac3c (bug 1732161)
Backed out changeset 50d17b172185 (bug 1732161)
2021-10-12 07:13:13 +03:00
Steve Fink
8db934daff Bug 1732161 - Track CCReason for all cycle collections (replacing ccType) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D126395
2021-10-11 21:39:08 +00:00
Steve Fink
74a46d68be Bug 1732161 - Replace bools with CCReasons for the scheduler control variables. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D127013
2021-10-11 21:39:07 +00:00
Steve Fink
0e884be9db Bug 1732161 - Add profiler marker for core part of CC r=smaug,gerald
Differential Revision: https://phabricator.services.mozilla.com/D126394
2021-10-11 21:39:06 +00:00
Paul Bone
655d28c9ce Bug 1725539 - p3. Don't re-create the GC runner before tha parent replies r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D123098
2021-10-08 05:02:27 +00:00
Paul Bone
f0a1c9464c Bug 1725539 - p2. Provide an ordering of GC reasons r=smaug
GC reasons clobber each-other as follows:

USER_INACTIVE > FULL_GC_TIMER > all others.

To ensure that if multiple timers fire we still do the strongest GC
requested.

Differential Revision: https://phabricator.services.mozilla.com/D122556
2021-10-08 05:02:27 +00:00
Paul Bone
5d7d2b08cb Bug 1725539 - p1. Fix and simplify the logic for mWantAtLeastRegularGC r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D122555
2021-10-08 05:02:27 +00:00
Butkovits Atila
2ff5314530 Backed out 6 changesets (bug 1732161) for causing assertion failures in CCGCScheduler.h. CLOSED TREE
Backed out changeset 88dbe1a7478c (bug 1732161)
Backed out changeset a5a2c9c53340 (bug 1732161)
Backed out changeset d83b36b92051 (bug 1732161)
Backed out changeset b339e54078d7 (bug 1732161)
Backed out changeset 0cbf901cab8b (bug 1732161)
Backed out changeset b3e894d590d9 (bug 1732161)
2021-10-05 03:47:08 +03:00
Steve Fink
7e1eb8957d Bug 1732161 - Track CCReason for all cycle collections (replacing ccType) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D126395
2021-10-04 23:06:08 +00:00
Steve Fink
212e57ce81 Bug 1732161 - Replace bools with CCReasons for the scheduler control variables. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D127013
2021-10-04 23:06:07 +00:00
Steve Fink
4ec85db46c Bug 1732161 - Add profiler marker for core part of CC r=smaug,gerald
Differential Revision: https://phabricator.services.mozilla.com/D126394
2021-10-04 23:06:06 +00:00