Confirmed users
328
edits
(→Steps) |
(→Steps) |
||
Line 17: | Line 17: | ||
== Steps == | == Steps == | ||
=== Exact Rooting done in JS Shell {{bug|753203}} - 12 weeks started === | |||
* Rooting Analysis on TinderBox (sfink) - done | |||
** Still need to unhide it for inbound - get it green, keep it green | |||
* Get the root analysis build green - two weeks? | |||
** Get jit-tests green {{bug|745742}} | |||
** Get js ref tests green | |||
** Get jsapi-tests green {{bug|831376}} | |||
* Rooting analysis fuzz bugs {{bug|773746}} | |||
** Rely on static analysis to make this not be a whack-a-mole game | |||
* Remove E4X - done | |||
* Do something about JSD | |||
* Add exact roots to stack structures - 2 weeks | |||
* AddRoot/RemoveRoot for Heap structures - 4 weeks | |||
* Static code analysis {{bug|831409}} | |||
** Fix all discovered rooting hazards (~800) (sfink,jonco) - 4 weeks | |||
** Optimize all discovered over-rooting (~100) | |||
** Automate static analysis {{bug|834912}} (sfink) | |||
*** Need a server (dm-sixgill01?) | |||
*** http://people.mozilla.org/~sfink/rootingHazards.txt | |||
*** http://people.mozilla.org/~bhackett/gcFunctions.html | |||
=== JIT Integration with post barriers - 4 weeks, parallelized === | |||
* IonMonkey {{bug|831506}} - 1 week (bhackett) | |||
* JaegerMonkey {{bug|764876}} - 2 days (bhackett) | |||
* Baseline JIT {{bug|831507}} - <ask jandem/djvj for an estimate> | |||
=== Generational Garbage Collection in the Shell === | |||
* Implement prototype algorithm (terrence) - 1 week | |||
* This is a potential milestone: we would need to build it and test it on TBPL similar to how |r| works now -- |GGCJS|. | |||
* Re-implement HashTable rekeying | |||
** We undid this code because it was a perf regression and was still a bit buggy. (terrence) - 3 weeks | |||
** at least part of this is {{bug|726687}} | |||
=== Exactly Root the Browser {{bug|831379}} - 10 weeks === | |||
* 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. | |||
=== Performance Tuning - 4 weeks (This should probably start asap) === | |||
* Implement a Nursery {{bug|706885}} - 1 week | |||
* Test against V8 Earley-Boyer benchmark. | |||
** Also v8 deltablue, raytrace | |||
* We may need to Implement Bill’s Pools/Zones idea to get the nursery to the requisite perf {{bug|759585}} - 6 weeks | |||
* Refactor code to avoid rooting on hot paths and keep rooter overhead acceptable - ??? weeks (start early) (bhackett) | |||
=== Make the Post Barrier Verifier Green in the browser {{bug|764882}} === | |||
* Investigate how long it will take to do generational barriers - 1 week | |||
* We may need to rewrite the maps in xpconnect and the browser in terms of HashTable: this could be a bunch of work. | |||
* Make JS_IsAboutToBeFinalized indirect {{bug|765432}} - 10 weeks | |||
== Other == | == Other == |