Closed Bug 1602720 Opened 6 years ago Closed 6 years ago

Tidy up IonBuilder JSOP_INITELEM_ARRAY/JSOP_INITELEM_INC code

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla73
Tracking Status
firefox73 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(5 files)

I need this for bug 1601599 and by sharing most code for these two ops we will also be able to optimize a bit more.

This removes the confusing isNewArray() check in that function. It's also
incorrect with other changes because it doesn't account for loop phis for
example.

Just move the MConstant-creation code into the callers to simplify later changes.

Depends on D56529

We now have a shared code path to compile these ops.

JSOP_INITELEM_ARRAY gains IC support and JSOP_INITELEM_INC can potentially use the
fast path now.

Depends on D56533

Attachment #9114844 - Attachment description: Bug 1602720 part 4 - Move jsop_initelm_array fast path code into initArrayElemTryFastPath. r?tcampbell! → Bug 1602720 part 4 - Factor out jsop_initelem_array fast path code into initArrayElemTryFastPath. r?tcampbell!
Priority: -- → P1
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d444961b5e70 part 1 - Make IonBuilder::initializeArrayElement take an MNewArray argument. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/45276248e692 part 2 - Make initializeArrayElement take an MDefinition* instead of size_t. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/54f4fc55ea0d part 3 - Rename initializeArrayElement to initArrayElementFastPath. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/374f85b25b59 part 4 - Factor out jsop_initelem_array fast path code into initArrayElemTryFastPath. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/bc40ad2f351b part 5 - Merge most code for JSOP_INITELM_INC and JSOP_INITELEM_ARRAY into initArrayElement. r=tcampbell

== Change summary for alert #24474 (as of Fri, 13 Dec 2019 08:43:32 GMT) ==

Improvements:

52% glterrain windows10-64-shippable-qr opt e10s stylo 2.38 -> 1.14
39% glterrain windows10-64-shippable-qr opt e10s stylo 2.18 -> 1.33
8% tp5o_scroll windows10-64-shippable-qr opt e10s stylo 1.82 -> 1.67

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=24474

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: