Closed Bug 1542740 Opened 7 months ago Closed 7 months ago

Use AttachDecision in more IR generators for CacheIR.

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: iain, Assigned: iain)

Details

Attachments

(15 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

While working on call ICs in bug 1533890, I introduced an AttachDecision enum to simplify tryAttachStub, instead of having multiple mutually exclusive boolean out-params. We should consider using the same pattern for other IR generators.

This patch lays the groundwork for the stack.

To make it possible to switch everything over incrementally, I renamed the existing TryAttachStub/TryAttachIonStub templates, and added a new version. The old version gets deleted later in the stack when all the consumers have been fixed up.

This is one of the two non-trivial conversions. GetProp supports TemporarilyUnoptimizable, but not Deferred.

Note: I deleted a comment in IonGetPropertyIC::update that has been obsolete since bug 1383777: https://bugzilla.mozilla.org/show_bug.cgi?id=1383777#c2

Depends on D27297

This was the last consumer of the old implementation of TryAttachStub/TryAttachIonStub. This patch removes the transitional version.

Depends on D27309

This is the other patch with non-trivial refactoring. (GetPropIRGenerator was the first.)

Attachment #9057911 - Attachment description: Bug 1542740: Convert BinaryArithIRGenerator to use AttachDecision r=mgaudet → Bug 1542740: Convert NewObjectIRGenerator to use AttachDecision r=mgaudet
Pushed by iireland@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1140aa6cfb40
Add TRY_ATTACH macro and new versions of TryAttach templates r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/f3c7978228c0
Convert GetPropIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/3169b44fe327
Convert GetNameIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/b9871f6c9a35
Convert BindNameIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/448eb3cd7fdf
Convert HasPropIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/1e1017253de5
Convert InstanceOfIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/f96d9bb86997
Convert TypeOfIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/ec38ecf241e2
Convert GetIteratorIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/ffd868dfa8b1
Convert CompareIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/cd4e0264ddea
Convert ToBoolIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/f5d29f943027
Convert GetIntrinsicIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/94bdb9f0377a
Convert UnaryArithIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/c9e126b6fe3d
Convert BinaryArithIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/7a8e62330019
Convert NewObjectIRGenerator to use AttachDecision r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/85d43344501f
Convert SetPropIRGenerator to use AttachDecision r=tcampbell
Assignee: nobody → iireland
You need to log in before you can comment on or make changes to this bug.