• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# arkcompiler子系统Changelog
2
3## cl.arkcompiler.1 JIT功能默认关闭,需申请权限证书并通过审核后启用
4
5**访问级别**
6
7公开接口
8
9**变更原因**
10
11JIT(Just In Time)即时编译功能可能带来任意代码注入的风险。为了保护应用安全并维护鸿蒙系统的纯净生态,系统默认关闭JSVM的JIT功能,采用解释执行方式执行JS代码。
12
13**变更影响**
14
15此变更涉及应用适配。
16
17变更前:
18默认开启JIT。
19
20变更后:
21默认关闭JIT,需申请权限证书后启用。关闭后,依赖JIT的wasm接口将无法执行,且JIT与解释执行在特定场景下存在性能差异。
22
23**起始API Level**
24
25API 11
26
27**变更发生版本**
28
29从OpenHarmony SDK 5.1.0.51开始。
30
31**变更的接口/组件**
32
33| 接口                          | 影响                                                          |
34| ------------------------------- | --------------------------------------------------------------- |
35| OH_JSVM_CompileWasmModule   | 无 JIT 权限会返回 JIT_MODE_EXPECTED 状态码,并打印一行日志提示开发者                      |
36| OH_JSVM_CompileWasmFunction | 无 JIT 权限会返回 JIT_MODE_EXPECTED 状态码,并打印一行日志提示开发者                      |
37| OH_JSVM_CreateWasmCache     | 无 JIT 权限会返回 JIT_MODE_EXPECTED 状态码,并打印一行日志提示开发者                      |
38| OH_JSVM_RunScript           | 无 JIT 权限执行含wasm的脚本会失败,在特定场景下存在性能差异,并打印一行日志提示开发者 |
39
40**适配指导**
41
42新上架应用若期望使用JIT权限,需向应用市场(AppGallery Connect,简称AGC)提交ohos.permission.kernel.ALLOW_EXECUTABLE_FORT_MEMORY受限ACL权限的申请, 并在附带材料中说明使用JSVM引擎JIT功能的具体场景。在权限审批通过后, 开发者可从AGC网站上更新profile证书, 并对应用重打包上架。权限申请及适配流程可参考《[申请使用受限权限](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/declare-permissions-in-acl-V5)》指导完成。
43
44适配注意事项
451. 如果应用未申请相应的权限证书,却试图在配置文件中声明此权限,将会导致应用安装失败。
462. 若在编译时报以下错误日志`The ohos.permission.kernel.ALLOW_EXECUTABLE_FORT_MEMORY permission under requestPermissions must be a value that is predefined within the SDK or a custom one that you have included under definePermissions.`, 请将OpenHarmony SDK更新到最新版本(>=5.0.2.125版本)。