Make DXR useful for finding dead/unreachable code

NEW
Unassigned

Status

Webtools
DXR
4 years ago
2 years ago

People

(Reporter: jwatt, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Talking to ErikRose and marcell on IRC, it seems this could work.

A few possibly tricky cases:

 * functions like CreateNewFrameTraversal are stored in a static table
   and called via their address

 * functions that are passed by address and then called

 * virtual functions, although I guess as long as we can query "is this
   function called, or are any of the functions that it overrides called"
   then virtual functions should be excludable from being a false positive.
We could probably do this without a dedicated graph store (to the limit of available RAM on the indexer) just by tagging functions who have no callers.

Reaching into the far future, we could introduce a real graph store and plot actual graphs of caller relationships. You could find not only the orphans but the almost-orphans as well.
You need to log in before you can comment on or make changes to this bug.