3 ms·
>The new JIT compiler based on ground breaking Basic Block Versioning already gives some exciting results >This novel approach lazily generates type-specialize
by kgeist 4y ago
>The new JIT compiler based on ground breaking Basic Block Versioning already gives some exciting results
>This novel approach lazily generates type-specialized versions of basic blocks on-the-fly while propagating context-dependent type information.
Does anyone know how it is different from tracing JIT compilers?
- linguistics__ 4y agoJIT compilation is done lazily on a per basic block level (so you only JIT blocks you're about to run). It keeps track of statically known information for specific basic-blocks and specializes different versions of basic blocks based on this. So if you're coming from an if-statement checking the type of X, into a new basic block, then the JIT specializes the block based on the knowledge that X indeed has said type (so it can specialize operations or skip future checks). I can highly recommend watching their presentation on it: https://www.youtube.com/watch?v=PFb5wNj2ztM https://www.youtube.com/watch?v=PFb5wNj2ztM
- kgeist 4y agoThank you, they explain the difference from tracing JITs starting from 11:00