Partial attempt at enabling dynamic type analysis tiering
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.
Showing
Please register or sign in to comment