Closed
Bug 831409
Opened 13 years ago
Closed 12 years ago
Statically find rooting hazards and unnecessary roots
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla29
People
(Reporter: bhackett1024, Unassigned)
References
Details
With an analysis to find the set of functions which can GC (bug 829243), it is not too hard to automatically find unrooted GC thing pointers or Values which are held live across a call which can GC, or to find rooted things which are not held live across such a call (and for which the root adds unnecessary overhead).
I wrote some more scripts to find variables fitting either of these categories, building on top of bug 829243 and also stored at https://github.com/bhackett1024/gcAnalysis. A list of all the reports is at:
http://people.mozilla.org/~bhackett/rootingHazards.html
This currently reports 851 rooting hazards in the shell (though 107 are in jsxml.cpp and can be ignored), and 171 unnecessary roots. These reports are still preliminary and will have a fair number of false positives, will be working to improve this. For usability the number of false positives needs to be zero.
Updated•12 years ago
|
Updated•12 years ago
|
Updated•12 years ago
|
Target Milestone: --- → mozilla29
You need to log in
before you can comment on or make changes to this bug.
Description
•