记录自己学习JavaScript引擎的一些知识总结
主要是关于v8的内容,后续可能会涉及到v8和其他引擎之间的对比
按照v8官方文档的步骤即可
- 运行
gclient sync
时遇到下面的错误:
NOTICE: You have PROXY values set in your environment, but gsutil in depot_tools does not (yet) obey them. Also, --no_auth prevents the normal BOTO_CONFIG environment variable from being used. To use a proxy in this situation, please supply those settings in a .boto file pointed to by the NO_AUTH_BOTO_CONFIG environment var.
这是因为gclient
工具不识别环境变量设置的代理,所以按照提示配置.boto文件即可。
参照这里
- 进入v8源码目录
cd /path/to/v8
- 更新代码与依赖
git pull && gclient sync
- 编译
tools/dev/gm.py x64.debug
- JavaScript engine fundamentals: Shapes and Inline Caches
- JavaScript engine fundamentals: optimizing prototypes
- Javascript Hidden Classes and Inline Caching in V8
- Optimizing dynamic JavaScript with inline caches
- JavaScript Engines Hidden Classes
- How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code
- Fast Property Access
- V8 hidden class and inline cache
- V8 internals