Closed Bug 1582895 Opened 5 years ago Closed 3 years ago

[hazards] move more information into callgraph

Categories

(Core :: JavaScript: GC, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: sfink, Assigned: sfink)

Details

Attachments

(4 files)

Currently, the analysis scans through all of the code to extract the basic information of direct calls, calls through function pointers, virtual calls, annotations, etc. A separate phase loads all of that in and does the GC reachability analysis, which produces a list of functions that can GC and some extra annotation data needed by the main analysis.

When trying to resolve a hazard, it is very convenient to be able to traverse the callgraph and find what paths lead to a GC. But because the GC information is not in the basic callgraph, you can't do that. Instead, I end up generating a path, seeing where it goes wrong and suppressing some function, and repeating.

It would be much nicer to have the information embedded in the actual callgraph itself.

(Note that I'll also be using this bug for some unrelated refactorings that prepare for later changes, but can't quite be consecutive in my patch stack.)

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:sfink, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(sphink)
Assignee: nobody → sphink
Status: NEW → ASSIGNED
Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4e48e8895fec
Move more information into the actual callgraph using special "function" names like `(js-code)`, `(any-function)`, etc. r=jonco
https://hg.mozilla.org/integration/autoland/rev/e746d9fde526
Stop using global variables for so much state, and make separate rawCallees/calleesOf representations. r=jonco
https://hg.mozilla.org/integration/autoland/rev/254ebcb5c068
Minor irrelevant jorendb tweaks r=jonco
https://hg.mozilla.org/integration/autoland/rev/2934d40378dc
Annotate UnionMember with MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS r=jonco
Flags: needinfo?(sphink)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: