How can it virtualize/emulate without JIT? I’m aware of what JIT is in the context of programming languages, but I’m having trouble understanding how you can virtualize something without JIT.
To convert one processor architecture to another, instead of translating it into code of the correct architecture, you can also simply perform the operation in the loop by interpreting each instruction as it is encountered.
It’s the same distinction between a JIT and An interpreter. You can convert the code in chunks which is more efficient, or you can read the instructions one at the time and perform the corresponding operation.
Apple does not allow JIT of any form from third-party developers to my knowledge.
Wow, I didn’t realize Apple was that serious. I always thought their stance was not wanting Node.js, Python, etc. (interpreted languages) running, not necessarily this.
Correct me if I’m wrong but I think that code still technically runs as part of the browser, which is Apple code that is specially allowed to use JIT. The third-party code itself isn’t the JIT.
No JIT so performance will be limited, however, a massive step forward for sure.
How can it virtualize/emulate without JIT? I’m aware of what JIT is in the context of programming languages, but I’m having trouble understanding how you can virtualize something without JIT.
To convert one processor architecture to another, instead of translating it into code of the correct architecture, you can also simply perform the operation in the loop by interpreting each instruction as it is encountered.
It’s the same distinction between a JIT and An interpreter. You can convert the code in chunks which is more efficient, or you can read the instructions one at the time and perform the corresponding operation.
Apple does not allow JIT of any form from third-party developers to my knowledge.
Wow, I didn’t realize Apple was that serious. I always thought their stance was not wanting Node.js, Python, etc. (interpreted languages) running, not necessarily this.
You can ship Python in an iOS app just fine. It’s dynamic code generation that is specifically disallowed, among other rules.
iirc they allow it in wasm, but that’s about it
Correct me if I’m wrong but I think that code still technically runs as part of the browser, which is Apple code that is specially allowed to use JIT. The third-party code itself isn’t the JIT.