Closed Bug 1068697 Opened 10 years ago Closed 10 years ago

Add a compartment option to preserve JIT code in non-shrinking GCs

Categories

(Core :: JavaScript: GC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Requested by Wildfire Games for their game 0 A.D.

The situation is an embedding of SpiderMonkey with a fixed set of scripts.  It does not make sense to throw away JIT code on every GC only to recompile it again later.  Testing using the test function gcPreserveCode() shows a measurable performance improvement.

The idea is to add a per-compartment option to preserve JIT code for that compartment.  Like the current (global) situation with gcPreserveCode() JIT code is still discarded on a shrinking GC.
Blocks: 897962
Some performance measurements are given here:

http://www.wildfiregames.com/forum/index.php?showtopic=18466&page=2#entry298215
And here's a patch to implement it.
Assignee: nobody → jcoppeard
Attachment #8491549 - Flags: review?(terrence)
Comment on attachment 8491549 [details] [diff] [review]
preserve-jit-code-option

Review of attachment 8491549 [details] [diff] [review]:
-----------------------------------------------------------------

Nice! Thanks for taking this.
Attachment #8491549 - Flags: review?(terrence) → review+
This did land on mozilla-central, though the bug didn't get marked. Sorry for any confusion.
https://hg.mozilla.org/mozilla-central/rev/32c2b586c572
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: