Closed Bug 886957 Opened 11 years ago Closed 11 years ago

IonMonkey: Compile even larger functions

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla25

People

(Reporter: bhackett1024, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch patch (deleted) — Splinter Review
Bug 820583 increased the script length limit during compilation to 20000 when running off thread. This is still not large enough to compile some critical scripts in asm.js benchmarks, greatly hurting performance on those. The attached patch bumps the absolute limit to 100000, about twice the size of the biggest important script in box2d, removes the local/arg limit when compiling off thread and scales the use count for large scripts according to their size --- a script of length 100000 needs a use count of about 50000 before being compiled, rather than 1000 with small scripts. Per the formula in bug 807464 comment 3 a script of length 100000 should take a bit less than a second to compile, which isn't bad and of course can be canceled by the main thread when necessary. The only major benchmark I know which is affected by this threshold is octane-mandreel, which improves a few hundred points with this patch on my machine.
Attachment #767385 - Flags: review?(jdemooij)
Attachment #767385 - Flags: review?(jdemooij) → review+
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
Depends on: 913203
Depends on: 922655
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: