ios - 我现在可以对要通过商店分发的 iOS 应用程序使用 JIT 吗?

标签 ios smalltalk appstore-approval

几年前same question来了,Apple 是否更新了提交规则以允许在提交的应用程序中使用 JITter? opensmalltalk-vm 比非 JITting 版本快大约十倍,甚至 apple watch 也有足够的 ram 可以轻松运行它。

最佳答案

Apple 的政策没有改变。需要 PROT_WRITE | 的应用程序PROT_EXEC 页面未获准用于商店,而 JIT 需要它。

我看到了两种解决方法:

  1. 使用 AOT,而不是 JIT:修改 Cog,以便它可以将 jitted 代码存储到 文件。在运行覆盖测试的同时在开发机器上执行此操作 你的应用程序。那应该jit所有的代码。将代码文件放入 应用程序包。在运行时,将文件加载到 PROT_READ | PROT_EXEC 页并执行在那里找到的所有方法。所有其他人都需要 解释。

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

关于ios - 我现在可以对要通过商店分发的 iOS 应用程序使用 JIT 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39182638/

相关文章:

iphone - 重复 self 执行选择器

ios - 仅将一些触摸事件从一个 View 传递到另一个 View

smalltalk - 在 Smalltalk condenseChanges 上检测到无效的 utf8 输入

iphone - 核心图折线图 : Add padding to the right of the graph

iphone - Skype 防抖视频录制背后的技术是什么?

smalltalk - Smalltalk 中的数组和文字数组有什么区别?

compilation - 编译 'hello, world' GNU smalltalk

云存储服务的 iOS 应用程序被拒绝(因为不提供应用程序内购买订阅)

ios - iOS版本的 “Pending Developer Release”状态已过期

ios - Apple 会拒绝我使用此代码的申请吗?