Closed Bug 1136267 Opened 9 years ago Closed 9 years ago

Handle inlining when folding &&/||/?: operations

Categories

(Core :: JavaScript Engine: JIT, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch patchSplinter Review
When we have a conditional like 'if (a && b)' we try to fold the branching together, per bug 1028580.  The pattern matching we use for this breaks when the test is something like 'if (foo())' and there is a 'function foo(a, b) { return a && b; }' which was inlined.

It would be better if we were more robust on this.  This affects the main loop in octane-richards, which has a 'if (this.currentTcb.isHeldOrSuspended())' test that breaks down to a conditional.  Fixing this, as this patch does, gives me 1k-2k points on richards (x86 10.9).
Attachment #8568654 - Flags: review?(sunfish)
Attachment #8568654 - Flags: review?(sunfish) → review+
https://hg.mozilla.org/mozilla-central/rev/670bdd1f10a7
Assignee: nobody → bhackett1024
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
No longer blocks: 1134510
Blocks: 1134510
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: