llst
llst copied to clipboard
Correctly invalidate the JIT caches and recompile possibly affected methods
Current JIT implementation assumes that method objects are fully located in static heap and their pointers do not change. Pointers are used directly by value in the cache store & lookup procedures, so their change will blow the whole thing.
We need to get rid of the invalidated cache lines or correctly update them when one of the following events occur:
- New method is added to a class hierarchy
- Method is deleted
- Class hierarchy is modified
All of this also affects possibly inlined methods, so #15 is related too.