An AOT compiler is an Ahead Of Time compiler. This simply means that the bytecodes are compiled in advance of the bytecode use. Compare with a JIT that compiles the bytecodes as they are needed. One aspect an AOT has to deal that a JIT does not with is storing the compiled code.