Javascript:SpiderMonkey:ProjectGenerationGarbageCollection: Difference between revisions

Jump to navigation Jump to search
→‎Steps: Reformatted. Kind of dense, but totally updatable now
No edit summary
(→‎Steps: Reformatted. Kind of dense, but totally updatable now)
Line 17: Line 17:
== Steps ==
== Steps ==


#Exact Rooting done in JS Shell [https://bugzilla.mozilla.org/show_bug.cgi?id=753203 Bug 753203] - 12 weeks started
# Exact Rooting done in JS Shell {{bug|753203}} - 12 weeks started
##Rooting Analysis on TinderBox (sfink) - 3 weeks
#* Rooting Analysis on TinderBox (sfink) - done
###Patch is ready for review, would fix the problem with some pushes not getting builds
#** Still need to unhide it for inbound - get it green, keep it green
###Fix up other stuff broken by above change
#* Get the root analysis build green - two weeks?
###Patch would fix last remaining problem with getting it on Try server
#** Get jit-tests green {{bug|745742}}
###Unhide it for inbound - keep it green
#** Get js ref tests green  
##Get the root analysis build green - two weeks?
#** Get jsapi-tests green {{bug|831376}}
###Get jit-tests green [https://bugzilla.mozilla.org/show_bug.cgi?id=745742 Bug 745742] - 2 days
#* {{bug|773746}}
###Get js ref tests green  
#** Rely on static analysis to make this not be a whack-a-mole game
###Get jsapi-tests green [https://bugzilla.mozilla.org/show_bug.cgi?id=831376 Bug 831376]
# Remove E4X - done
##Fuzzer coverage of code [https://bugzilla.mozilla.org/show_bug.cgi?id=773746 Bug 773746]
# Do something about JSD
###Rely on static analysis to make this not be a whack-a-mole game
# Add exact roots to stack structures - 2 weeks
 
# AddRoot/RemoveRoot for Heap structures - 4 weeks
 
# Static code analysis {{bug|831409}}
Exact Rooting done in JS Shell [https://bugzilla.mozilla.org/show_bug.cgi?id=753203 Bug 753203] - 12 weeks started
# Fix all discovered rooting hazards (~800) (sfink,jonco) - 4 weeks
 
# Optimize all discovered over-rooting (~100)
Rooting Analysis on TinderBox (sfink) - 3 weeks
# Automate static analysis (sfink)
 
# Need a server (dm-sixgill01?)
patch is ready for review, would fix the problem with some pushes not getting builds
#* http://people.mozilla.org/~bhackett/rootingHazards.html
 
#* http://people.mozilla.org/~bhackett/gcFunctions.html
fix up other stuff broken by above change
# JIT Integration with post barriers - 4 weeks, parallelized
 
#* IonMonkey {{bug|831506}} - 1 week (bhackett)
patch would fix last remaining problem with getting it on Try server
#* JaegerMonkey {{bug|764876}} - 2 days (bhackett)
 
#* Baseline JIT {{bug|831507}} - <ask jandem/djvj for an estimate>
Unhide it for inbound - keep it green
# Generation Garbage Collection in the Shell
 
#* Implement prototype algorithm (terrence) - 1 week
Get the root analysis build green - two weeks?
#* This is a potential milestone: we would need to build it and test it on TBPL similar to how |r| works now -- |GGCJS|.
 
# Exactly Root the Browser {{bug|831379}} - 10 weeks
Get jit-tests green [https://bugzilla.mozilla.org/show_bug.cgi?id=745742 Bug 745742] - 2 days
#* 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)
Get js ref tests green
#* Test against V8 Earley-Boyer benchmark.
 
#* Also v8 deltablue, raytrace
Get jsapi-tests green [https://bugzilla.mozilla.org/show_bug.cgi?id=831376 Bug 831376]
# 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
Fuzzer coverage of code [https://bugzilla.mozilla.org/show_bug.cgi?id=773746 Bug 773746]
# Refactor code to avoid rooting on hot paths and keep rooter overhead acceptable - ??? weeks (start early) (bhackett)
 
# Re-implement HashTable rekeying
rely on static analysis to make this not be a whack-a-mole game
#* 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}}
Remove E4X  
# 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.  
Do something about JSD
# Make JS_IsAboutToBeFinalized indirect {{bug|765432}} - 10 weeks
 
Add exact roots to stack structures - 2 weeks
 
AddRoot/RemoveRoot for Heap structures - 4 weeks
 
Static code analysis [https://bugzilla.mozilla.org/show_bug.cgi?id=831409 Bug 831409]
 
Fix all discovered rooting hazards (~800) (sfink,jonco) - 4 weeks
 
Optimize all discovered over-rooting (~100)
 
Automate static analysis (sfink)
 
Need a server (dm-sixgill01?)
 
http://people.mozilla.org/~bhackett/rootingHazards.html
 
http://people.mozilla.org/~bhackett/gcFunctions.html
 
 
JIT Integration with post barriers - 4 weeks, parallelized
 
IonMonkey [https://bugzilla.mozilla.org/show_bug.cgi?id=831506 Bug 831506] - 1 week (bhackett)
 
JaegerMonkey [https://bugzilla.mozilla.org/show_bug.cgi?id=764876 Bug 764876] - 2 days (bhackett)
 
Baseline JIT [https://bugzilla.mozilla.org/show_bug.cgi?id=831507 Bug 831507] - <ask jandem/djvj for an estimate>
 
Generation 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|.
 
Exactly Root the Browser [https://bugzilla.mozilla.org/show_bug.cgi?id=831379 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)
 
Test against V8 Earley-Boyer benchmark.
 
Also v8 deltablue, raytrace
 
Implement a Nursery [https://bugzilla.mozilla.org/show_bug.cgi?id=706885 Bug 706885] - 1 week
 
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)
 
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 [https://bugzilla.mozilla.org/show_bug.cgi?id=764882 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 [https://bugzilla.mozilla.org/show_bug.cgi?id=765432 Bug 765432] - 10 weeks


== Other ==
== Other ==
Confirmed users
329

edits

Navigation menu