https://support.apple.com/en-eg/guide/security/sec15bfe098e/...
> Memory pages marked as both writable and executable can be used only by apps under tightly controlled conditions: The kernel checks for the presence of the Apple-only dynamic code-signing entitlement. Even then, only a single mmap call can be made to request an executable and writable page, which is given a randomized address. Safari uses this functionality for its JavaScript Just-in-Time (JIT) compiler.
In other words, Apple only allows Apple to do Javascript JIT on iOS.