Open Bug 1873564 Opened 1 year ago Updated 1 year ago

Consider skipping no-op property modifications in Watchtower

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

People

(Reporter: mgaudet, Unassigned)

References

(Blocks 1 open bug)

Details

Bug 1871597, Comment 4 suggests that in the wild we're seeing sites which end up manipulating objects on the destructruing optimization path in such a way that the fuses pop, but the optimization could still be done safely.

An example would be Array.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator], which will pop the ArrayPrototypeIterator fuse, but in principle we could choose to analyze the existing slot value and new slot value to allow the fuse to remain intact here.

Our current approach is simple and principled, but the existence of real work overwrites make me wonder if we should be value checking.

Severity: -- → S3
Priority: -- → P3
Severity: S3 → N/A
You need to log in before you can comment on or make changes to this bug.