Closed Bug 1809359 Opened 1 year ago Closed 1 year ago

Inline SetElementMegamorphic in Ion

Categories

(Core :: JavaScript Engine: JIT, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox111 --- fixed

People

(Reporter: alexical, Assigned: alexical)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Attachments

(1 file)

So, given that we have a cache for megamorphic gets, and SetElementMegamorphic calls are hot in speedometer, it seems like we could speed things up by populating a cache on SetElementMegamorphic VM calls, and utilizing that cache from Ion code. The cache would map shape and id to a (maybe) new shape and slot.

Severity: -- → N/A
Priority: -- → P1
Assignee: nobody → dothayer
Attachment #9311474 - Attachment description: WIP: Bug 1809359 - Inline SetElementMegamorphic → Bug 1809359 - Inline SetElementMegamorphic r?jandem
Status: NEW → ASSIGNED

The attached patch gets us a 4% win on React-TodoMVC, a 5% win on React-Redux-TodoMVC, a 4% win on React-Elm-TodoMVC, and possibly a 1% win on matrix-react-bench. (perfherder - sorry for the grandprixbench noise, also I think the medium confidence regressions from that are spurious.)

Blocks: 1810243
No longer blocks: 1801189
Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8129ee5398d5
Inline SetElementMegamorphic r=jandem
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch

Also seems to improve all AWFY-Elm-TodoMVC/* benchmarks

Regressions: 1811803
Regressions: 1814746
Whiteboard: [sp3]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: