Nursery-allocate more DOM nodes
Categories
(Core :: DOM: Core & HTML, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox104 | --- | fixed |
People
(Reporter: sfink, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(3 files, 2 obsolete files)
Comment 1•9 years ago
|
||
Comment 2•9 years ago
|
||
Updated•8 years ago
|
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Comment 7•8 years ago
|
||
Updated•8 years ago
|
Comment 8•7 years ago
|
||
Updated•7 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 9•3 years ago
|
||
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 10•3 years ago
|
||
This now works (without triggering extra minor GC) since bug 1765338 was fixed.
Assignee | ||
Comment 11•3 years ago
|
||
Assignee | ||
Comment 12•3 years ago
|
||
Olli, do you think this is worth landing as-is? Are there other performance tests we can do to see whether this is worth it?
Comment 13•3 years ago
|
||
Need to understand "// I'm not sure how the wrapper can get cleared now when it didn't before." part in the patch.
But once that is clear, we could try to land early next release cycle? Then we'd have time to look at GC numbers in telemetry before this gets to beta.
Assignee | ||
Comment 14•3 years ago
|
||
Previously this situation didn't arise and the existing code calls
NurseryWrapperAdded multiple times with the same wrapper in this case. This
causes assertion failures when the nursery wrapper list is processed later on.
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 15•3 years ago
|
||
Thanks for the reviews. I'll land this after the next merge.
Comment 16•3 years ago
|
||
Comment 17•3 years ago
|
||
Backed out for landing without part 1.
Backout link: https://hg.mozilla.org/integration/autoland/rev/ae190ae21c2634b7570023c6d34d512e49d7bd2e
Comment 18•3 years ago
|
||
Comment 19•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1a3be3ef674c
https://hg.mozilla.org/mozilla-central/rev/e2dd95957747
Comment 20•3 years ago
|
||
The warning "Wrong inner/outer window combination!" in the other bug hints that someone possibly accessing an object from window which has been already closed/unloaded.
Comment 21•3 years ago
|
||
Backed out for causing some regressions.
Comment 22•3 years ago
|
||
Backout merged to central: https://hg.mozilla.org/mozilla-central/rev/afb4b3178b20
Comment 23•3 years ago
|
||
(In reply to Atila Butkovits from comment #17)
Backed out for landing without part 1.
Backout link: https://hg.mozilla.org/integration/autoland/rev/ae190ae21c2634b7570023c6d34d512e49d7bd2e
== Change summary for alert #34321 (as of Tue, 07 Jun 2022 00:43:47 GMT) ==
Improvements:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
22% | perf_reftest_singletons line-iterator.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 2,752.55 -> 2,156.60 |
18% | perf_reftest_singletons line-iterator.html | windows10-64-shippable-qr | e10s fission stylo webrender | 2,498.44 -> 2,057.37 |
14% | perf_reftest_singletons line-iterator.html | linux1804-64-shippable-qr | e10s fission stylo webrender | 2,392.85 -> 2,048.75 |
14% | perf_reftest coalesce-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 70.08 -> 60.11 |
13% | perf_reftest coalesce-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender-sw | 69.19 -> 60.28 |
... | ... | ... | ... | ... |
6% | perf_reftest_singletons coalesce-1.html | windows10-64-shippable-qr | e10s fission stylo webrender | 178.73 -> 168.44 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=34321
Assignee | ||
Comment 24•3 years ago
|
||
This didn't appear to make any difference to telemetry in the couple of days it was in the codeline.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 25•3 years ago
|
||
The difference in talos results dame from finalizing dead wrapper objects during minor GCs which happen as part of the test, rather than during major GC which is run after the test finishes. So I think these changes can be ignored.
Assignee | ||
Comment 26•3 years ago
|
||
The crashes that happened when this bug originally landed were caused by GC
moving newobj before its native object pointer had been set, so the native
wasn't updated to point to the new object location.
To fix this the native pointer is set immediately to keep everything
consistent. However we have to update it again if transplanting doesn't end up
returning newobj.
Assignee | ||
Comment 27•3 years ago
|
||
Soft freeze starts in two days so I'll wait until the next cycle to try landing this again.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 28•3 years ago
|
||
Comment 29•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/87523c63f36e
https://hg.mozilla.org/mozilla-central/rev/9515fe1fed8d
https://hg.mozilla.org/mozilla-central/rev/d984d6438269
Description
•