Closed Bug 1972572 Opened 1 year ago Closed 23 days ago

Support baking in constant object property values

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
Size Estimate M

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [sp3])

We want to support baking in constant property values (for properties that haven't been mutated) of certain objects in Ion. In particular prototype objects and some other objects such as Math and maybe the global.

This will reduce the number of guards for calls such as array.join(). We currently guard on (1) the receiver shape (2) the Array.prototype shape (3) the property value (to ensure we call the expected join function). With this optimization we should be able to turn (2) into an invalidation constraint and then eliminate guard (3) through constant folding.

Severity: -- → N/A
Priority: -- → P3
Depends on: 1972805

Using size M for an initial version but this could also be L.

Size Estimate: --- → M
Whiteboard: [sp3][js-perf-next]
Depends on: 1876635
Depends on: 1976218
Depends on: 1981133
Depends on: 1982330
Depends on: 1983823
Depends on: 1986983
See Also: → 1811467
See Also: → 1914496
Depends on: 2005566

I don't think we currently have any concrete plans for more work here. Our initial implementation is complete; we can open new bugs if we do any follow-ups.

Status: ASSIGNED → RESOLVED
Closed: 23 days ago
Resolution: --- → FIXED
Whiteboard: [sp3][js-perf-next] → [sp3]
You need to log in before you can comment on or make changes to this bug.