blinkgc
blinkgc copied to clipboard
从blink里剥离的垃圾回收组件, 能让c++拥有java一样的自动垃圾回收机制
非常感谢楼主的分享,剥离GC不易,我在测试过程中,遇到如下的小问题,跟大家分享一下: 在最初的blink initialize时候调用ThreadState::current()->addInterruptor(s_isolateInterruptor);这句代码应该是和V8相关的,我查了一下,在这之前有初始化s_isolateInterruptor的一个操作,但是楼主的源码中没有出现,之前是如下这样的: s_isolateInterruptor = new V8IsolateInterruptor(V8PerIsolateData::mainThreadIsolate()); ThreadState::current()->addInterruptor(s_isolateInterruptor); 这套GC代码在不涉及多线程时候可以稳定运行,但是多线程运行到请求中断时interruptor->requestInterrupt();,因为s_isolateInterruptor未被初始化,所以产生null指针访问,导致程序奔溃。 可以直接屏蔽掉这段代码(ThreadState::current()->addInterruptor(s_isolateInterruptor);),不要在一开始给main thread添加这个null的中断。
在知乎上看到了你写的关于blinkgc,非常感兴趣,可是用vs2015打开,并配置了头文件,还是有很多编译错误。可以详细说明下使用的编译工具以及配置情况呢。多谢。
对这个项目蛮感兴趣的,希望作者添加更多项目描述,以及当前的项目状态!