Confirmed users
3,314
edits
m (Resurrect Milestone, Deliverable, and Assigned columns) |
m (Convert some HTML to wiki format) |
||
Line 1: | Line 1: | ||
<p>Wiki conversion of original Google Document: https://docs.google.com/a/jamsni.com/document/d/1-GZ8F0ZabvdpCnRQaecId0yuu4QFYr5pAvnRC_KFchc/edit | <p>Wiki conversion of original Google Document: https://docs.google.com/a/jamsni.com/document/d/1-GZ8F0ZabvdpCnRQaecId0yuu4QFYr5pAvnRC_KFchc/edit | ||
</p> | </p> | ||
== Objective == | |||
<p>Implement Generational Garbage collection in Spider Monkey. <Some goal based off V8 performance delta % on Earley Boyer benchmark></p> | <p>Implement Generational Garbage collection in Spider Monkey. <Some goal based off V8 performance delta % on Earley Boyer benchmark></p> | ||
<b>Accountable</b>: Naveed<br /> | <b>Accountable</b>: Naveed<br /> | ||
Line 11: | Line 11: | ||
<b>Tracking Bug:</b> [meta] Implement generational garbage collection - <span class="fck_mw_template"><span class="fck_mw_template"><span class="fck_mw_template">{{bug|619558}}</span></span></span> | <b>Tracking Bug:</b> [meta] Implement generational garbage collection - <span class="fck_mw_template"><span class="fck_mw_template"><span class="fck_mw_template">{{bug|619558}}</span></span></span> | ||
== Milestones == | |||
Original schedule | === Original schedule === | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 153: | Line 153: | ||
|} | |} | ||
== Steps == | |||
=== Exact Rooting done in JS Shell {{bug|753203}} === | |||
<p>12 weeks started | <p>12 weeks started | ||
</p> | </p> | ||
Line 181: | Line 183: | ||
</li></ul> | </li></ul> | ||
</li></ul> | </li></ul> | ||
=== JIT Integration with post barriers - 4 weeks, parallelized === | |||
<ul><li> IonMonkey <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831506}}</span></span> - 1 week (bhackett) | <ul><li> IonMonkey <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831506}}</span></span> - 1 week (bhackett) | ||
</li><li> JaegerMonkey <span class="fck_mw_template"><span class="fck_mw_template">{{bug|764876}}</span></span> - 2 days (bhackett) | </li><li> JaegerMonkey <span class="fck_mw_template"><span class="fck_mw_template">{{bug|764876}}</span></span> - 2 days (bhackett) | ||
</li><li> Baseline JIT <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831507}}</span></span> - <ask jandem/djvj for an estimate> | </li><li> Baseline JIT <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831507}}</span></span> - <ask jandem/djvj for an estimate> | ||
</li></ul> | </li></ul> | ||
=== Generational Garbage Collection in the Shell === | |||
<ul><li> Implement prototype algorithm (terrence) - 1 week | <ul><li> Implement prototype algorithm (terrence) - 1 week | ||
</li><li> This is a potential milestone: we would need to build it and test it on TBPL similar to how |r| works now -- |GGCJS| - done. | </li><li> This is a potential milestone: we would need to build it and test it on TBPL similar to how |r| works now -- |GGCJS| - done. | ||
Line 194: | Line 200: | ||
</li></ul> | </li></ul> | ||
</li></ul> | </li></ul> | ||
=== Exactly Root the Browser <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831379}}</span></span> - 10 weeks === | |||
<ul><li> This is a potential milestone: we would turn on exact rooting for release FF at this point. We would not get a performance boost from this (necessarily), but it would lock in our work to this point. | <ul><li> This is a potential milestone: we would turn on exact rooting for release FF at this point. We would not get a performance boost from this (necessarily), but it would lock in our work to this point. | ||
</li></ul> | </li></ul> | ||
=== Performance Tuning - 4 weeks (This should probably start asap) === | |||
<ul><li> Implement a Nursery <span class="fck_mw_template"><span class="fck_mw_template">{{bug|706885}}</span></span> - 1 week | <ul><li> Implement a Nursery <span class="fck_mw_template"><span class="fck_mw_template">{{bug|706885}}</span></span> - 1 week | ||
</li><li> Test against V8 Earley-Boyer benchmark. | </li><li> Test against V8 Earley-Boyer benchmark. | ||
Line 205: | Line 215: | ||
</li><li> Refactor code to avoid rooting on hot paths and keep rooter overhead acceptable <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831886}}</span></span> (bhackett) - done | </li><li> Refactor code to avoid rooting on hot paths and keep rooter overhead acceptable <span class="fck_mw_template"><span class="fck_mw_template">{{bug|831886}}</span></span> (bhackett) - done | ||
</li></ul> | </li></ul> | ||
=== Make the Post Barrier Verifier Green in the browser <span class="fck_mw_template"><span class="fck_mw_template">{{bug|764882}}</span></span> === | |||
<ul><li> Investigate how long it will take to do generational barriers - 1 week | <ul><li> Investigate how long it will take to do generational barriers - 1 week | ||
</li><li> We may need to rewrite the maps in xpconnect and the browser in terms of HashTable: this could be a bunch of work. | </li><li> We may need to rewrite the maps in xpconnect and the browser in terms of HashTable: this could be a bunch of work. | ||
</li><li> Make JS_IsAboutToBeFinalized indirect <span class="fck_mw_template"><span class="fck_mw_template">{{bug|765432}}</span></span> - 10 weeks | </li><li> Make JS_IsAboutToBeFinalized indirect <span class="fck_mw_template"><span class="fck_mw_template">{{bug|765432}}</span></span> - 10 weeks | ||
</li></ul> | </li></ul> | ||
== Other == | |||
<ul><li> Should we establish a new benchmark specifically for GGC. (sfink votes yes) | <ul><li> Should we establish a new benchmark specifically for GGC. (sfink votes yes) | ||
<ul><li> What would it measure? there are multiple goals, e.g. throughput/MMU/pause time | <ul><li> What would it measure? there are multiple goals, e.g. throughput/MMU/pause time | ||
Line 227: | Line 241: | ||
</li></ul> | </li></ul> | ||
</li></ul> | </li></ul> | ||
== Risks == | |||
<ul> | <ul> | ||
<li> Team is responsible for many top crashers</li> | <li> Team is responsible for many top crashers</li> |