Open Bug 1791395 Opened 2 years ago Updated 2 years ago

Consider splitting AliasSet::ObjectFields into more fine-grained categories

Categories

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

enhancement

Tracking

()

People

(Reporter: anba, Unassigned)

References

(Blocks 1 open bug)

Details

AliasSet::ObjectFields is relatively coarse-grained: It includes changes to the shape, prototype, slots, and elements. If an operation adds elements, it has to use Store(ObjectFields) to mark that the elements field can be reallocated. Now any other operation which has Load(ObjectFields) can no longer be moved before the store, including shape and prototype guards, even though a reallocated elements field won't ever change the shape or prototype.
Currently we can only optimise this case by manually adding mightAlias. We should investigate if splitting ObjectFields into more fine-grained categories can help to avoid adding these mightAlias overrides. Cf. https://phabricator.services.mozilla.com/D157551 for a concrete example.

Blocks: sm-opt-jits
Severity: -- → N/A
Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.