Closed Bug 1251703 Opened 9 years ago Closed 9 years ago

Always resolve virtual calls to known callees

Categories

(Core :: JavaScript: GC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox47 --- fixed

People

(Reporter: sfink, Assigned: sfink)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Currently, most of nsISupports subclasses' virtual methods are assumed to be overridable, either via script or binary extensions. The way this is implemented is to check for the overridable cases and avoid resolving the methods to all possible virtual definitions. This is fine for the GC hazard analysis, but makes the callgraph less useful for other purposes (including just exploratory investigation) since it doesn't include any of these edges.
Instead, resolve all virtual calls and emit edges for them into the callgraph, but just emit the "unknown field call" marker in the nsISupports cases. (Also suppress the "fully-resolved virtual" token in this case, not that anything is looking at that right now.) mccr8: congrats, I get to inflict reviews upon you now. :-)
Attachment #8724167 - Flags: review?(continuation)
Blocks: hazard
Attachment #8724167 - Flags: review?(continuation) → review+
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: