• Kevin Modzelewski's avatar
    Partial attempt at enabling dynamic type analysis tiering · b7a886b6
    Kevin Modzelewski authored
    In theory it's simple: we just run cheaper type analysis on lower tiers.
    In practice it's more complicated, since the different tiers have to
    cooperate on the types that they send back and forth.
    
    I fixed up some of the code that didn't expect to receive a type worse
    than what it knows to be true.  Ran into an issue where we have to
    treat potentially-undefined symbols specially, since we can't do a class
    check on them because they probably point to garbage.
    
    Stopped there for now, since this section of the code is horrible and we
    need to rewrite the tiering framework anyway.
    b7a886b6
irgen.cpp 48 KB