Closed Bug 1645353 Opened 4 years ago Closed 4 years ago

Warp: use template objects for scripted constructor calls

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

This lets us use MCreateThisWithTemplate and improves performance quite a lot on some tests.

This op is currently used for InstanceOf but the next patch will also use this for
constructor calls.

Also emit the .prototype guard directly in CacheIR. This way we don't need any of
the code IonBuilder has for this in Warp. Only do this if WarpBuilder is enabled
because Baseline doesn't need it and this way we avoid potential Ion perf
regressions.

Because we then use MGuardShape we have to fix the MGuardSpecificFunction code
in the transpiler to 'unwrap' that.

Depends on D79445

Blocks: 1645373
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/83569838f633 part 1 - Transpile GuardFunctionPrototype. r=evilpie https://hg.mozilla.org/integration/autoland/rev/89a54069f124 part 2 - Use the template object for scripted constructor calls. r=evilpie,iain
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
Regressions: 1646302
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: