Don't inline functions when the call has an empty type barrier

REOPENED
Assigned to

Status

()

Core
JavaScript Engine: JIT
P2
normal
REOPENED
5 months ago
3 months ago

People

(Reporter: jandem, Assigned: jandem, NeedInfo)

Tracking

(Blocks: 1 bug)

unspecified
mozilla56
Points:
---

Firefox Tracking Flags

(firefox56 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 months ago
Created attachment 8889811 [details] [diff] [review]
Patch

Sometimes we inline a function even though the call has an empty type barrier and we know the caller will be invalidated as soon as the inlined function "returns".
Attachment #8889811 - Flags: review?(bhackett1024)
Attachment #8889811 - Flags: review?(bhackett1024) → review+

Comment 1

5 months ago
Pushed by jandemooij@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1455629cb663
Don't Ion-inline functions when the call has an empty type barrier. r=bhackett

Comment 2

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/1455629cb663
Status: ASSIGNED → RESOLVED
Last Resolved: 5 months ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
(Assignee)

Comment 3

5 months ago
I might have regressed AngularJS-TodoMVC-CompletingAllItems-sync by 50% . I'll take a look.
Flags: needinfo?(jdemooij)
(Assignee)

Comment 4

5 months ago
(In reply to Jan de Mooij [:jandem] from comment #3)
> I might have regressed AngularJS-TodoMVC-CompletingAllItems-sync by 50% .
> I'll take a look.

I backed this out for now:

https://hg.mozilla.org/integration/mozilla-inbound/rev/91c459dd13e5d05cd5b707ae717801a6b04d6031

This patch actually did the right thing (not inlining a function in a branch that was never taken), but it did affect some other inlining heuristics that I think are broken.

I'll get back to this soon.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Comment 5

5 months ago
backoutbugherder
backed out from m-c
https://hg.mozilla.org/mozilla-central/rev/91c459dd13e5
Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.