Skip to content

Rename exp.precious_globs and clarify what it does #192

@michael-schwarz

Description

@michael-schwarz

The documentation currently says

reg Experimental "exp.precious_globs"    "[]"    "Global variables that should be handled flow-sensitively when using earlyglobs."

However, Simmo discovered that "precious globs" are also "my favorite things" that exclude things from invalidation:

analyzer/src/analyses/base.ml

Lines 1799 to 1803 in 85536ab

let my_favorite_things = List.map Json.string !precious_globs in
let is_fav_addr x =
List.exists (fun x -> List.mem x.vname my_favorite_things) (AD.to_var_may x)
in
let invalids' = List.filter (fun (x,_,_) -> not (is_fav_addr x)) invalids in

So one should rethink what precious_globs are, give them a sensible name, and describe their behavior.


Also, we should rename exp.extraspecials to something that better describes what it means

;reg Experimental "exp.extraspecials"     "[]"    "List of functions that must be analyzed as unknown extern functions"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions