Closed Bug 1794439 Opened 2 years ago Closed 2 years ago

Inline `HasNativeDataPropertyPure` cache lookup in Ion

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
108 Branch
Tracking Status
firefox108 --- fixed

People

(Reporter: alexical, Assigned: alexical)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [sp3])

Attachments

(1 file)

This is commonly called with an atom, as far as my instrumentation was able to observe, so we can cheaply look up the hash without having to worry about looking up the atom by a linear string ptr. Somewhat expectedly, the same is not true of calls to GetNativeDataPropertyByValuePure, so I wasn't able to see much of an improvement by inlining the cache lookup there, unless we wanted to modify our StringToAtomCache to be a fixed size and more masm friendly. I don't think that's a priority though.

Anyway, I ran this through try and saw something like a 5% speedup on the React, React-Redux, and Elm subtests in Speedometer 2, so I think this is worth it.

I saw something like a 5% improvement to the Elm, React, and React-Redux
subtests of speedometer with this, with maybe a 1% overall Speedometer
improvement, although the confidence is lower.

Assignee: nobody → dothayer
Status: NEW → ASSIGNED
Blocks: sm-opt-jits
Severity: -- → N/A
Priority: -- → P1
Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/30dbd4267a26
Inline HasNativeDataPropertyPure cache lookup in Ion r=jandem

Backed out for causing multiple failures on BacktrackingAllocator.cpp

Log 2 : https://treeherder.mozilla.org/logviewer?job_id=393480982&repo=autoland

Flags: needinfo?(dothayer)
Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/98e7f7bfffc4
Inline HasNativeDataPropertyPure cache lookup in Ion r=jandem
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 108 Branch
Regressions: 1798246

Eyeballing it, looks like this yeilded wins in react-flavored sub-benchmarks of speedometer, and smaller (~1%) wins in Matrix React, Ares6, and Kraken.

Flags: needinfo?(dothayer)
Blocks: 1810243
Whiteboard: [sp3]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: