Javascript:SpiderMonkey:ProjectGenerationGarbageCollection: Difference between revisions

Jump to navigation Jump to search
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>
# Generation Garbage Collection in the Shell
# 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
# Implement a Nursery {{bug|706885}} - 1 week
#* 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)
# Re-implement HashTable rekeying
#* We undid this code because it was a perf regression and was still a bit buggy. (terrence) - 3 weeks
# 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
Confirmed users
328

edits

Navigation menu