JavaScriptCore doesn't use a JIT when used in your own apps. When you embed a WKWebView it runs out-of-process and has JIT enabled. Without the entitlement you cannot execute any written memory by your own process.
All 3rd party browsers today use WKWebView and add their own "chrome" over the rendered page. In essence Chrome/Firefox for iOS are really just Safari with custom chrome for bookmarks etc…
What exactly is preventing you from making an off-screen WKWebView and pointing it at some bundled HTML/JS which allows the app to run arbitrary JS through some IPC? I guess App Store guidelines would come in the way, but I bet it it would be technically possible
It is technically possible but the IPC will destroy you. You would need to transfer inputs and outputs as well as have JS shims to call it. Most of the code will be doing tons of memory accesses which will need to be transferred back and forth across the process boundary and orders of magnitude more cost.
If you did want to try the best approach is probably to compile Dolphin to WASM and render via WebGPU. Then you can JIT WASM. But I suspect that the overall performance will still be lower. (Although a web version of Dolphin would still be super cool.)
I don't think it would be as simple as compiling Dolphin to WASM. Since Dolphin itself implements a JIT compiler that emits native code you would need to also teach Dolphin to emit WASM code.
All 3rd party browsers today use WKWebView and add their own "chrome" over the rendered page. In essence Chrome/Firefox for iOS are really just Safari with custom chrome for bookmarks etc…