llst
llst copied to clipboard
Research use of LLVM's StackMaps for online code patching
LLVM provides special API for preallocating patch points in the JIT code which then may be altered without full function recompilation. This is especially useful in polymorphic method caches and dynamic type inferernce. This API is still experimental but already used in Webkit's Javascript engine.
More information may be found here: http://llvm.org/docs/StackMaps.html
P.S.: Known pitfall is that current implementation of StackMaps supports only x64, albeit developers note that it is possible to extend it to x32. Still, it has to be done.