A Just-In-Time compiler (or JIT compiler) is a special compiler (used by Java and ActionScript 3, among others) which compiles bytecode into machine code at runtime. The regular compiler (for languages that use bytecode) converts source code to bytecode. The bytecode is run as the program. The JIT compiler converts the bytecode as it is used into machine code. Bytecode that is not used is not converted to machine code. Bytecode that is used multiple times is converted once. This can speed up the run time of a program by not having the computer think about parts of the program that it does not use. Some JITs will even optimize bytecodes that are used often.