this post was submitted on 14 Jul 2024
142 points (99.3% liked)

Apple

17541 readers
64 users here now

Welcome

to the largest Apple community on Lemmy. This is the place where we talk about everything Apple, from iOS to the exciting upcoming Apple Vision Pro. Feel free to join the discussion!

Rules:
  1. No NSFW Content
  2. No Hate Speech or Personal Attacks
  3. No Ads / Spamming
    Self promotion is only allowed in the pinned monthly thread

Lemmy Code of Conduct

Communities of Interest:

Apple Hardware
Apple TV
Apple Watch
iPad
iPhone
Mac
Vintage Apple

Apple Software
iOS
iPadOS
macOS
tvOS
watchOS
Shortcuts
Xcode

Community banner courtesy of u/Antsomnia.

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 4 months ago (2 children)

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.

[–] [email protected] 2 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 months ago

You can ship Python in an iOS app just fine. It's dynamic code generation that is specifically disallowed, among other rules.

[–] [email protected] 2 points 4 months ago (1 children)

iirc they allow it in wasm, but that's about it

[–] [email protected] 1 points 4 months ago

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.