Confirmed users
328
edits
(→Steps) |
(→Steps) |
||
| Line 26: | Line 26: | ||
#* Rooting analysis fuzz bugs {{bug|773746}} | #* Rooting analysis fuzz bugs {{bug|773746}} | ||
#** Rely on static analysis to make this not be a whack-a-mole game | #** Rely on static analysis to make this not be a whack-a-mole game | ||
# Remove E4X - done | #* Remove E4X - done | ||
# Do something about JSD | #* Do something about JSD | ||
# Add exact roots to stack structures - 2 weeks | #* Add exact roots to stack structures - 2 weeks | ||
# AddRoot/RemoveRoot for Heap structures - 4 weeks | #* AddRoot/RemoveRoot for Heap structures - 4 weeks | ||
# Static code analysis {{bug|831409}} | #* Static code analysis {{bug|831409}} | ||
# Fix all discovered rooting hazards (~800) (sfink,jonco) - 4 weeks | #** Fix all discovered rooting hazards (~800) (sfink,jonco) - 4 weeks | ||
# Optimize all discovered over-rooting (~100) | #** Optimize all discovered over-rooting (~100) | ||
# Automate static analysis (sfink) | #** Automate static analysis (sfink) | ||
# Need a server (dm-sixgill01?) | #*** Need a server (dm-sixgill01?) | ||
#* http://people.mozilla.org/~bhackett/rootingHazards.html | #*** http://people.mozilla.org/~bhackett/rootingHazards.html | ||
#* http://people.mozilla.org/~bhackett/gcFunctions.html | #*** http://people.mozilla.org/~bhackett/gcFunctions.html | ||
# JIT Integration with post barriers - 4 weeks, parallelized | # JIT Integration with post barriers - 4 weeks, parallelized | ||
#* IonMonkey {{bug|831506}} - 1 week (bhackett) | #* IonMonkey {{bug|831506}} - 1 week (bhackett) | ||
#* JaegerMonkey {{bug|764876}} - 2 days (bhackett) | #* JaegerMonkey {{bug|764876}} - 2 days (bhackett) | ||
#* Baseline JIT {{bug|831507}} - <ask jandem/djvj for an estimate> | #* Baseline JIT {{bug|831507}} - <ask jandem/djvj for an estimate> | ||
# | # Generational Garbage Collection in the Shell | ||
#* Implement prototype algorithm (terrence) - 1 week | #* 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|. | #* 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 | |||
#* Implement a Nursery {{bug|706885}} - 1 week | |||
# Exactly Root the Browser {{bug|831379}} - 10 weeks | # 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. | #* 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. | ||
| Line 49: | Line 52: | ||
#* Test against V8 Earley-Boyer benchmark. | #* Test against V8 Earley-Boyer benchmark. | ||
#* Also v8 deltablue, raytrace | #* Also v8 deltablue, raytrace | ||
#* We may need to Implement Bill’s Pools/Zones idea to get the nursery to the requisite perf - 6 weeks | #* We may need to Implement Bill’s Pools/Zones idea to get the nursery to the requisite perf - 6 weeks | ||
# Refactor code to avoid rooting on hot paths and keep rooter overhead acceptable - ??? weeks (start early) (bhackett) | #* 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}} | # Make the Post Barrier Verifier Green in the browser {{bug|764882}} | ||
# Investigate how long it will take to do generational barriers - 1 week | # Investigate how long it will take to do generational barriers - 1 week | ||