Safari uses a tracing JIT compiler, meaning that it's taking pieces of javascript and, in real time, turning them into machine code and executing the machine code. It then will save these "traces" and reuse them for recurring pieces of code.
This requires special permission to add execute permission to memory that the app had allocated and used for data, which is pretty dangerous. So Safari gets it and 3rd party apps do not.
This requires special permission to add execute permission to memory that the app had allocated and used for data, which is pretty dangerous. So Safari gets it and 3rd party apps do not.