6 ms·
It seems that the way iOS implements W^X protection would prevent a performant JS JIT from being created. It will be interesting to see if/how this is worked a
by aidenn0 4y ago
It seems that the way iOS implements W^X protection would prevent a performant JS JIT from being created. It will be interesting to see if/how this is worked around.
- kccqzy 4y agoRegulations would force Apple to provide the same entitlements it uses to JIT code in Safari to other browsers.
- saagarjha 4y agoW^X (with permission flipping) is fine for JIT, the problem is that Apple doesn’t really allow these kinds of JITs on the App Store.
- fomine3 4y agoIt seems that pthread_jit_write_protect_np isn't public on iOS so perhaps JIT can't be implemented regardless of AppStore
- saagarjha 4y agoThe implementation of that is not actually very difficult to do yourself (though I wouldn’t recommend it). The problem is you can’t actually flip the mask to execute unless you have permission to JIT which Apple currently doesn’t provide to third party apps.
- mmis1000 4y agoBasically every JIT javascript engine now use W^X protection by default. So it is probably a non-issue. I think the problem is 'does apple even allow you to toggle the w and x bit?'.