Copyright Fedor Indutny view license - +1 << Home Most developers heard about JIT compilers and how they can make slow interpreted languages run at a speed, comparable to native code. However, not many people understand how exactly this JIT thing works, and even less people could write their own compilers. I think having at least, basic knowledge of compiler internals may greatly improve understanding of the code that is running on that software. In this article, we'll visit some peaks of JIT-island, and probably even implement a compiler ourselves! Knowing some compiler basics, we can assume that every compiler is transforming input in some format (usually, a source code) into the output in another or same format (usually, a machine code). JIT compilers are not an exception. What really makes them exceptional, is the fact that they're running not ahead of time (like gcc, clang an...