Move GC slice budget scheduling decisions out of spidermonkey and feed semantically meaningful info to Gecko scheduler
Categories
(Core :: JavaScript: GC, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox98 | --- | fixed |
People
(Reporter: sfink, Assigned: sfink)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
In bug 1672121, I added a callback to allow the embedding to set up slice budgets. But it's a weird setup where for Gecko-generated GCs:
- Gecko computes a budget and passed it into SM
- SM passes that time back to Gecko via a callback
- Gecko creates a budget with that time
- SM then runs the GC with that budget
For internally-generated GCs:
- SM computes a budget based on whether we're in high frequency mode
- SM passes that time back to Gecko via a callback
- Gecko creates a budget with that time
- SM then runs the GC with that budget
I would like to change it to:
- (externally triggered) Gecko requests a GC
- (internally triggered) SM requests a GC
- SM invokes a callback with any relevant internal state
- Gecko creates a budget based on that state and its own state
- SM then runs the GC with that budget
I wanted to include this change in bug 1672121, but it's not just a matter of switching the callback from taking a millisecond value to taking a inHighFrequencyGCMode boolean, because sometimes a millisecond value is passed in (from Gecko in the first place). So I'm splitting it off into a separate bug.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
Assignee | ||
Comment 2•3 years ago
|
||
Comment 4•3 years ago
|
||
Backed out 3 changesets (Bug 1738096, Bug 1747274) for causing build bustages on FuzzingFunctions.cpp.
Backout link
Push with failures
Failure Log
Comment 5•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4e679084e753
https://hg.mozilla.org/mozilla-central/rev/857f9a1009bc
Assignee | ||
Updated•3 years ago
|
Description
•