4 ms·
I think this is the answer. A JIT works by compiling some chunk of code into a section of executable memory, then jumping to that location. As I understand it,
by russell_h 16y ago
I think this is the answer.
A JIT works by compiling some chunk of code into a section of executable memory, then jumping to that location. As I understand it, iOS hasn't previously allowed execution of code from "data memory" (various people were curious about this very thing when it was announced they were shipping a JIT). Presumably, the Safari process has some special flag that allows it to write to executable memory, but most other processes do not. My guess is that someone forgot to add this flag to whatever application handles "full screen" pages, although maybe there is a legitimate reason for this.
Edit:
An example of the curiosity I mentioned: http://twitter.com/mraleph/status/43030240175468544 http://twitter.com/mraleph/status/43030240175468544