现在我能否在通过App Store分发的iOS应用程序中使用JIT?

8
几年前,曾经有人提出同样的问题,苹果公司是否更新了提交规则以允许在提交的应用程序中使用JITters? opensmalltalk-vm比非JITting版本快大约十倍,即使Apple Watch也有足够的RAM轻松运行它。

我投票关闭此问题,因为它涉及应用商店的政策和程序,而不是编程。请参见开发人员中心的应用商店问题是否属于主题? - Makyen
2
关闭这类问题正是导致 SO 变得如此无用的原因。 - Stephan Eggermont
2个回答

6

苹果的政策没有变化。需要一个 PROT_WRITE | PROT_EXEC 页面的应用程序不会被批准上架,这对于JIT是必要的。

我看到有两种方法可以解决这个问题:

  1. 使用AOT而非JIT:修改Cog以便在运行应用程序时在开发机器上将jitted代码存储到文件中,并进行测试覆盖率。这将jit所有代码。将代码文件放入应用程序包中。运行时,将文件加载到PROT_READ | PROT_EXEC页面中并执行其中找到的所有方法。其他所有方法需要被解释。

  2. 有一种方法可以在您的应用程序中运行JIT:苹果的JavaScript JIT。它是目前所有移动平台上速度最快的。您可以帮助使SqueakJS的代码生成器产生更有效的JS代码。这将允许在JIT上运行所有Smalltalk代码,包括新方法。


我想问一下,Sista 类型的优化是否不适用于第一种方法? - Stephan Eggermont

2
你可以看一下 Pharo-JS,它允许你使用Smalltalk开发并部署到Javascript;然后通过Cordova或PhoneGap作为iOS(或Android)应用程序运行。最近的ESUG 2016会议上的Pharo-JS演示提供了后者的演示(大约在25分钟处)。

1
一旦外部链接失效,你的回答还有多大用处?一个好的回答应该始终解释清楚做了什么以及为什么要以这种方式进行,不仅是为了提问者,也是为了未来访问Stack Overflow的用户。 - B001ᛦ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接