Hacker News new | past | comments | ask | show | jobs | submit login

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.



W^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.


It seems that pthread_jit_write_protect_np isn't public on iOS so perhaps JIT can't be implemented regardless of AppStore


The 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.


Regulations would force Apple to provide the same entitlements it uses to JIT code in Safari to other browsers.


Basically 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?'.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: