关联的Issue

#I9LKS7:[Bug]: fix check outer concurrent function

修改原因(目的、解决的问题等,例如:修复xx场景崩溃问题)

fix check outer concurrent function

修改描述(做了什么,变更了什么,例如:xx函数入口增加判空)

fix check outer concurrent function

自测试项(新增、改动、可能影响的功能)

使用独立编译进行编译(BUILD.gn改动)

  • 已通过
  • 不涉及,无需验证

Debug UT 本地执行(必须执行)

  • 已通过
  • 不涉及,无需验证

Release UT 本地执行(必须执行)

  • 已通过
  • 不涉及,无需验证

Release test262 本地执行(非Test代码必须执行)

  • 已通过
  • 不涉及,无需验证

Debug test262 本地执行(非Test代码必须执行)

  • 已通过
  • 不涉及,无需验证

Release pgo-aot test262 本地执行(compiler/aot/isa/stub/ic/对象布局等修改必须执行)

  • 已通过
  • 不涉及,无需验证

Debug pgo-aot test262 本地执行(compiler/aot/isa/stub/ic/对象布局等修改必须执行)

  • 已通过
  • 不涉及,无需验证

Regress测试套 本地执行(解释器/builtins/异常处理/对象布局/IC等修改必须执行)

  • 已通过
  • 不涉及,无需验证

js perf 性能测试(性能优化/性能敏感场景:IR化/ic/hclass/对象布局/isa/builtins等修改必须执行)

  • 已验证不劣化
  • 不涉及,无需验证

解释器workload性能测试(性能优化/性能敏感场景:IR化/ic/hclass/对象布局/isa/builtins等修改必须执行)

  • 已验证不劣化
  • 不涉及,无需验证

aot-workload性能测试(性能优化/性能敏感场景:IR化/compiler/aot/isa/stub/ic/对象布局等修改必须执行)

  • 已验证不劣化
  • 不涉及,无需验证

rk3568 L0用例验证,门禁构建镜像启动一遍所有应用(非Test代码必须执行)

  • 已通过
  • 不涉及,无需验证

rk3568 wukong压测2小时验证(非Test代码需要,可用原型机替代验证)

  • 无相关crash产生
  • 不涉及,无需验证

将上述测试的截图贴到下面

输入图片说明

demo

  @Concurrent
  function bar() {
    console.info("wzy bar")
    return 100;
  }
  @Concurrent
  async function foo(bar) {
    console.info("wzy foo 1")
    bar()
    console.info("wzy foo 2")
    return 200;
  }
  let task1 = new taskpool.Task(foo, bar);
  taskpool.execute(task1).then((d)=> {
    console.info("wzy test task1 res is " + d)
  })

  @Concurrent
  function bar1() {
    console.info("wzy bar1 1")
    testBar();
    console.info("wzy bar1 2")
    return 300;
  }
  let task2 = new taskpool.Task(bar1);
  taskpool.execute(task2).then((d)=> {
    console.info("wzy test task2 res is " + d)
  })

  @Concurrent
  function bar2() {
    console.info("wzy bar2 1")
    testBar();
    console.info("wzy bar2 2")
    return 300 + testBar();
  }

  for (let i = 0; i < 100; i++) {
    let task3 = new taskpool.Task(bar2);
    taskpool.execute(task3).then((d)=> {
      console.info("wzy test task3 res is " + d)
    })
    let task4 = new taskpool.Task(funcStrCat, "abc", "def", "hello");
    taskpool.execute(task4).then((d)=> {
      console.info("wzy test task4 res is " + d)
    })
    taskpool.execute(funcStrCat, "abc", "def", "hello").then((d) => {
      console.info("wzy test task function res is " + d)
    })
  }