Calling the getter in js::jit::GetPropertyCached is too slow in TodoMVC-jQuery on Android
Categories
(Core :: JavaScript Engine: JIT, defect, P2)
Tracking
()
People
(Reporter: denispal, Assigned: alexical, NeedInfo)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [js-perf-next][sp3])
Attachments
(1 file)
We are 3x slower than Chrome for the function "V" that's part of the TodoMVC-jQuery test, found here:
https://github.com/mozilla/Speedometer/blob/537d5769ef9ef3fa9a236884eae4d109c0628833//resources/todomvc/architecture-examples/jquery/dist/jquery.min.js#L2
We spend a lot of time in js::jit::GetPropertyCached
, specifically calling js::CallGetter
.
Firefox: https://share.firefox.dev/4dVlozp
Chrome: https://share.firefox.dev/40kRQIx
Updated•4 months ago
|
Updated•3 months ago
|
Comment 1•3 months ago
|
||
Alex and I discussed this, and we think that we should be able to make some improvements here.
In bug 1878158, we added initial support for getters in megamorphic GetProp. MegamorphicLoadSlotPermissive won't bail out if it sees a getter, but it still calls into the VM to do the actual call. Doing the call from jitcode is also possible; it's just a matter of implementation.
Because getters come in various flavours (scripted JS, native C++, etc), the most robust way to implement this may be to lean on the existing generic call trampoline.
Updated•3 months ago
|
Updated•3 months ago
|
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Comment 2•3 months ago
|
||
Updated•2 months ago
|
Updated•16 days ago
|
Comment 4•1 day ago
|
||
Backed out changeset b82a6af2a937 (Bug 1926477) for causing SM bustages
Description
•