SuperAPI AI 工具集

modify-jsi-features

通用与其它

查看项目

更新于 10-16 09:54

技能介绍

用途:为 JSI Runtime 接口新增方法时,说明需要在哪些文件、按何种模式改动的操作指南。

主要能力:给出跨层改动清单,包括 JSI 核心(jsi.h、jsi.cpp、jsi-inl.h、decorator.h、test/testlib.cpp)、Hermes 实现(hermes.cpp、APITest.cpp)与 SynthTrace(SynthTrace.h/.cpp、TracingRuntime.h/.cpp、SynthTraceParser.cpp、TraceInterpreter.cpp 及对应测试)。说明两种实现策略:Option A 在 jsi::Runtime 中用 JavaScript 调用提供默认实现(推荐,JSC/V8 无需改动);Option B 声明为纯虚,要求所有运行时实现。

用法要点:在 IRuntime 加纯虚声明、在 Runtime 加 override 及默认实现,在 decorator.h 为 RuntimeDecorator 与 WithRuntimeDecorator 加覆写;Hermes 侧用 VM API 覆写优化实现,并用 checkStatus() 处理结果;SynthTrace 为 Hermes 必需,需新增 Record 类型、序列化、解析与回放逻辑。命名需一致,JS 层错误用 jsi::JSError。

测试:buck test xplat/jsi:jsi 运行 JSI 测试;buck test xplat/static_h:HermesUnitTests 运行 Hermes API 测试,可加 -- MyTestName 指定用例。参考 diff:D66562549、D66729169、D66792338。

限制:具体命令行参数、版本要求或价格未在资料中提供。