Remix.run Logo
asdfsa32 4 hours ago

You're entirely correct because JIT requires violating Write xor Execute security policy. This is the reason on iOS, it is limited to Apple shipped software.

https://en.wikipedia.org/wiki/W%5EX

codethief 2 hours ago | parent | next [-]

GrapheneOS heavily restricts JIT usage, too:

> - Android Runtime Just-In-Time (JIT) compilation/profiling is fully disabled and replaced with full ahead-of-time (AOT) compilation. The only JIT compilation in the base OS is the V8 JavaScript JIT which is disabled by default for the Vanadium browser with per-site exception support.

> - Dynamic code loading for both native code or Java/Kotlin classes is blocked for nearly the entire base OS. […]

> - Dynamic code loading for both native code or Java/Kotlin classes can be disabled for user installed apps via 3 exploit protection toggles: […]

https://grapheneos.org/features

shakna 4 hours ago | parent | prev [-]

The wiki page mentions this is only a minor problem. Because everyone just writes, then switches and executes.

asdfsa32 4 hours ago | parent [-]

But this means that you have to decide who is allowed to switch.