v8随心记
因为node原因,研究v8已经有段时间了,但是一直也没有抽空写点什么,现在想想有好多当时清晰的东西又模糊了。哎,伤心的很啊。但是一时又想不起什么章法,所以只能随手胡乱写了。
下载、编译:
https://github.com/v8/v8-git-mirror
https://github.com/v8/v8-git-mirror/blob/master/DEPS
http://www.chromium.org/developers/how-tos/install-depot-tools
最近在看的是v8-4.2.77的代码,真的是不想和以前一样下载cygwin这些第三方工具,后来通过修改gyp生成的[js2c.vcxproj、v8_snapshot.vcxproj、cctest(resources.vcxproj)],可以只需要[icu]这一个第三方工具,就编译生成v8、cctest、process和shell等程序。
---------------------------------------------------------------------------------------------------
源码:
third-party: {
fdlibm: {
[ FDLIBM (Freely Distributable LIBM) is a C math library for machines that support IEEE 754 floating-point arithmetic ]
}
}
tools: {
thread-sanitizer: {
[include: zone.cc]
[ThreadSanitizer又叫TSan,是一个检查线程Data Race的C/C++工具。它集成在新版的gcc和clang中,通过编译时加-fsanitize=thread,可以在运行时检测出Data Race的问题。]
}
}
Isolate::Init {
[call]:
[CHECK]Max(Min(base::SysInfo::NumberOfProcessors(), 4), 1)
optimizing_compiler_thread_ = new OptimizingCompilerThread(this);
optimizing_compiler_thread_->Start();
}