Closed Bug 1743612 Opened 8 months ago Closed 8 months ago

Support AddSlot IC stubs for objects with an addProperty hook

Categories

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

task

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

For now it's hard to get rid of the add-property hook on DOM objects, but we can still optimize this better with ICs by using a VM function.

Summary: Support AddSlot ICs for objects with an add-property hook → Support AddSlot ICs for objects with an addProperty hook
Summary: Support AddSlot ICs for objects with an addProperty hook → Support AddSlot IC stubs for objects with an addProperty hook

SetProp/SetElem ICs don't have an output register, resulting in assertion failures
when using AutoCallVM in the next patch.

Depends on D132489

If the object has an addProperty hook, we call a VM function where we add the
data property and invoke the hook. This still isn't super efficient, but it
eliminates a source of IC failures and helps identify this case in profiles.

Depends on D132490

Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9179e377a085
part 1 - Add testing function and jit-test for JSClass addProperty hook. r=iain
https://hg.mozilla.org/integration/autoland/rev/ea09314bae4b
part 2 - Make AutoCallVM work with ICs without an output register. r=iain
https://hg.mozilla.org/integration/autoland/rev/7fe6d2297eb5
part 3 - Support AddSlot IC stubs for objects with an addProperty hook. r=iain
https://hg.mozilla.org/integration/autoland/rev/a9b155370ae7
part 4 - Add transpiler support for AddSlotAndCallAddPropHook. r=iain
You need to log in before you can comment on or make changes to this bug.