Closed Bug 1974519 Opened 9 months ago Closed 7 months ago

Preserve DOM Wrappers from JIT code

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox144 --- fixed

People

(Reporter: alexical, Assigned: alexical)

References

(Blocks 1 open bug)

Details

(Keywords: perf-alert)

Attachments

(3 files)

This bug covers deferring DOM wrapper preservation via an intermediate buffer and allowing us to write to that buffer from the JIT to avoid having to call into Gecko for first property adds on DOM wrappers.

The main objective of this patch is to allow us to interact with DOM wrapper
preservation directly from the JIT, which it does by creating a deferred wrapper
preservation buffer which is consumed before any GC. The patch after this
handles writing to this buffer from the JIT where necessary.

This patch handles writing to the deferred wrapper preservation buffer introduced
by the previous patch from JIT code.

Blocks: sm-dom
Severity: -- → N/A
Priority: -- → P2
Depends on: 1979965

Backed out for causing mass failures.

Flags: needinfo?(dothayer)
Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch
Flags: needinfo?(dothayer)

(In reply to Cosmin Sabou [:CosminS] from comment #8)

https://hg.mozilla.org/mozilla-central/rev/ddd4bfa0111b
https://hg.mozilla.org/mozilla-central/rev/b52f931b202b
https://hg.mozilla.org/mozilla-central/rev/23cb51d62173

Perfherder has detected a browsertime performance change from push 23cb51d6217342d39cc2e0dfb16866d76541d614.

If you have any questions, please reach out to a performance sheriff. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
3% speedometer3 Charts-observable-plot/Dotted/Sync android-hw-a55-14-0-aarch64-shippable webrender 17.75 -> 17.30
2% speedometer3 Charts-observable-plot/Stacked by 20/Sync android-hw-a55-14-0-aarch64-shippable webrender 39.37 -> 38.53

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a performance sheriff to do that for you.

You can run all of these tests on try with ./mach try perf --alert 46470

The following documentation link provides more information about this command.

Keywords: perf-alert

Hmm, I was definitely expecting a bigger impact than this given several preliminary try runs of the patches in development. I'm going to try rerunning with some of the older patches to make sure nothing was lost along the way.

No longer depends on: 1979965
See Also: → 1979965
Regressions: 1987401
Regressions: 1985591
QA Whiteboard: [qa-triage-done-c145/b144]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: