Cocosjs 3.11.1中新内存模型崩溃

开启CC_ENABLE_GC_FOR_NATIVE_OBJECTS后,callFunc中访问data会崩溃

var HelloWorldScene = cc.Scene.extend({

onEnter: function () {
    this._super();
    this.scheduleOnce(this.gc, 1);

    var data = {n: 100};
    this.runAction(
        cc.sequence(
            cc.delayTime(2),
            cc.callFunc(function () {
                cc.log(data.n);
            })
        )
    );
},

gc: function () {
    cc.sys.garbageCollect();
}

});

问题已修复,见下面 PR 中 cocos2d_specifics.cpp 的修改

https://github.com/cocos2d/cocos2d-x/pull/16013

这个问题的根本原因是 gc 导致 action 被 GC 了,所以它所引用的 callback function 也失效了,data 本身因为在匿名函数中有访问到,所以没有被 GC。

:tulip: