代码拉取完成,页面将自动刷新
【任务描述】
1.新增ObjectTemplate SetNativePointerField功能,提供对象存储c++指针的能力,实现JS和C++对象的绑定。
2.提供跨文件访问class的能力,当前class | const | let 定义的全局变量存放在寄存器,跨文件无法访问。
3.提供全局弱引用能力,IsWeak,SetWeak,Global构造函数。
4.支持ACE中初始化js自动打包成abc的能力。
5.支持ACE2.0 helloworld。
【解决方案】
1.在object中新增4个接口,实现存储NativePointer的能力
void* GetNativePointerField(int32_t index) const;
void SetNativePointerField(int32_t index, void *data);
int32_t GetNativePointerFieldCount() const;
void SetNativePointerFieldCount(int32_t count);
2. 在env定义GlobalRecord域,将class | const | let放于GlobalRecord上,并修改解释器的store,load逻辑,先从GlobalRecord 上找,再从Object上找。
3. 实现IsWeak,SetWeak,Global构造函数。
4. 利用ark前端脚本,在gn中进行配置,将js在编译时自动生成abc。
5. 方舟编译器开发人员与ACE开发人员联调,联合定位,接口赋能,实现2.0 helloworld加载。
【任务来源】
登录 后才可以发表评论