JIT compilers, by definition, generate on-the-fly code for execution. But, say, on Windows, we have all sorts of protections that prevent self-tuning code or are executed from data memory (DEP).
So how is it possible for JIT compilers to generate code on the fly?
source
share