Inline `GetNativeDataPropertyByValuePure` in Ion when possible
Categories
(Core :: JavaScript Engine: JIT, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox110 | --- | fixed |
People
(Reporter: dthayer, Assigned: dthayer)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [sp3])
Attachments
(2 files)
Since Jan's recent addition of the lastLookups_
cache in StringToAtomCache
, part of the string atomization workflow is easier to write as masm and not so much code to worry about bloating things. This made me interested in revisiting whether we should try to inline GetNativeDataPropertyByValuePure
, as previously I had concluded that we missed too often due to not having atom strings. Running my prototype of this through try I see pretty green results for React-Redux-TodoMVC and Elm-TodoMVC. Quite a bit of this seems to overlap with bug 1799025, but I think they are both worth doing anyway.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
This changes our JIT megamorphic cache accessors to hit more often by allowing
them to look up strings in the first level of StringToAtomCache's cache.
Assignee | ||
Comment 2•2 years ago
|
||
This also extracts the common bit of code from the HasProp case as well as the
common code from the GetProp case in order to merge them together for the
GetElem case.
Depends on D165427
Updated•2 years ago
|
Comment 4•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3c3f18541794
https://hg.mozilla.org/mozilla-central/rev/b17b04940a8f
Assignee | ||
Comment 5•2 years ago
|
||
This saw something like a 3% win on React-Redux-TodoMVC and similar on React-TodoMVC and Elm-TodoMVC
Comment 6•2 years ago
|
||
FWIW, also gave a 11% win on AWFY-Sunspider-string-fasta : https://treeherder.mozilla.org/perfherder/graphs?highlightAlerts=1&highlightChangelogData=1&highlightCommonAlerts=0&selected=3906902,1622585925&series=mozilla-central,3735763,1,13&series=mozilla-central,3735763,1,13&series=autoland,3906902,1,13&timerange=5184000&zoom=1672646821296,1672927253902,6.13886547683267,10.327579970191508
Updated•2 years ago
|
Updated•2 years ago
|
Description
•