How are invalidated MethodInstances found, and how well does the process scale?

Code instance has associated world ages and function pointers, and method instance has back edges. It’s quite natural that they have separate roles. A method instance can have multiple code instances due to invalidation (for example, you might delete a method then add it back, so you need two separate code instance to represent two disjoint world intervals).

I think it works much like this, but it is quite complicated and I don’t know how it works exactly (I haven’t read that part of code carefully). I do know some splittings are done on types and argument positions. So…

1 Like