4 ms·
How does this compare to ish? I know ish translates x86 into ARM on iOS. How does this work?
by noodlesUK 7y ago
How does this compare to ish? I know ish translates x86 into ARM on iOS. How does this work?
- FullyFunctional 7y agoIt doesn't. It _interprets_ x86. There's a similar project to do this for RISC-V, but it's not on TestFlight. I assume this pick the LLVM IR? It's an interesting question what the optimal IR for this would be, but it would probably be higher level than this, maybe more like WASM or the Zinc (O'Caml IR).
- saagarjha 7y agoThe included commands for this are native code. The C compiler produces LLVM IR.
- FullyFunctional 7y agoI can't parse this, but the facts remain that the only JIT Apple allow is their own. Any other app cannot generate and run native code at runtime. Thus, apps are interpreting the immediate form (for iSH that 32-bit x86 and for A-Shell it's LLVM IR). iSH is threading, that is, the x86 code is translated into an IR consisting of pointers to the code that executes its interpretation. This is a technique older than FORTH and which may be the best you can do on iOS currently. A-Shell may do the same, I don't know. EDIT: updated with more details.