Giter Site home page Giter Site logo

blinkgc's People

Contributors

weolar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blinkgc's Issues

使用VS2015无法编译

在知乎上看到了你写的关于blinkgc,非常感兴趣,可是用vs2015打开,并配置了头文件,还是有很多编译错误。可以详细说明下使用的编译工具以及配置情况呢。多谢。

跪求更新

官方的代码修改很多次了,这里还是16年的。支持下作者。C++**!

x64编译问题

x64编译的时候出现一大堆错误,经过一一解决后,只剩下“pushAllRegisters”这个问题没有解决:
1>SafePoint.obj : error LNK2019: 无法解析的外部符号 pushAllRegisters,该符号在函数 "public: void __cdecl blink::SafePointBarrier::enterSafePoint(class blink::ThreadState *)" (?enterSafePoint@SafePointBarrier@blink@@QEAAXPEAVThreadState@2@@z) 中被引用
1>C:\Users\Administrator\Desktop\blinkgc-master\x64\Debug\blinkgc.exe : fatal error LNK1120: 1 个无法解析的外部命令
我看到“platform\heap\asm”目录里有这些文件里定义了“pushAllRegisters”:
SaveRegisters_arm.S
SaveRegisters_arm64.S
SaveRegisters_mips.S
SaveRegisters_mips64.S
SaveRegisters_x86.asm
我该使用哪一个进行内联编译呢?

添加更多描述

对这个项目蛮感兴趣的,希望作者添加更多项目描述,以及当前的项目状态!

多线程触发GC时的内存非法访问

非常感谢楼主的分享,剥离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的中断。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.