Closed Bug 900198 Opened 12 years ago Closed 12 years ago

Suppress the indirect call static analysis hazards in AsmJS.cpp

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla25

People

(Reporter: terrence, Assigned: terrence)

References

Details

Attachments

(1 file)

These appear to be spurious because of the indirect control flow.
CheckCallArgs is a static function which makes use of namespaces, so the whole signature acts as the name. I think it would probably be safe to just search for CheckCallArgs in the string, but I've gone with the more conservative approach of comparing the full string. It will re-trigger the hazard if someone changes the signature, but I think that's probably preferable to adding unnecessary holes at this point.
Attachment #784001 - Flags: review?(sphink)
Comment on attachment 784001 [details] [diff] [review] hazard_AsmJS-v0.diff Review of attachment 784001 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/devtools/rootAnalysis/annotations.js @@ +25,5 @@ > return true; > > + // CheckCallArgs dispatches to customize the checks. > + var CheckCallArgs = "AsmJS.cpp:uint8 CheckCallArgs(FunctionCompiler*, js::frontend::ParseNode*," + > + " (uint8)(FunctionCompiler*,js::frontend::ParseNode*,Type)*, FunctionCompiler::Call*)"; No comment, and forget about the line length -- I'd rather have the function name in a cut & pastable form. I tend to do that a lot when working with the analysis. (I like the CheckCallArgs var, though.)
Attachment #784001 - Flags: review?(sphink) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: