|
|
|
|
|
by linguistics__
1260 days ago
|
|
JIT 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 |
|