
V8
counsellor
这个作者很懒,什么都没留下…
展开
-
V8源码分析之d8源码注解(第七篇)
0x00 前言js代码解析的过程为编译成字节码后再加载字节码执行, ScriptCompiler::Compile()的过程是分为词法分析与语法分析,将js代码解析成AST树后就可以很顺利的转换成字节码。本节先跳过复杂的编译过程看下执行逻辑。0x01 调用栈Thread 1 "d8" hit Breakpoint 1, v8::Shell::ExecuteString (isolate=0...原创 2020-01-22 16:54:50 · 1700 阅读 · 0 评论 -
V8源码分析之d8源码注解(第六篇)
0x00 前言d8自己封装了一个js代码执行器,上一篇我们的代码执行到options.isolate_sources[0].Execute(isolate,本文将做进一步分析。0x01 调用栈#0 v8::SourceGroup::Execute (this=0x5555556542a8, isolate=0x1e9d00000000) at ../../src/d8/d8.cc:2567...原创 2020-01-06 19:44:44 · 1456 阅读 · 0 评论 -
V8源码分析之d8源码注解(第五篇)
0x00 前言没了你,我颓废了自己。心里那些苦,都只哽在喉咙里,一想起来就泪如雨下。 ----王国维0x01 调用栈Thread 1 "d8" received signal SIGINT, Interrupt.0x00007ffff4a8ea44 in v8::base::LocalKeyToPthreadKey (local_key=32767) at ../../src/base...原创 2019-12-20 18:46:37 · 3276 阅读 · 0 评论 -
V8源码分析之d8 shell 简介(第四篇)
0x00 前言常听人说烦恼即菩提,我们凡人遇到烦恼只是深感烦恼,不见菩提。快乐是在心里,不假外求,求即往往不得,转为烦恼。 ------ 梁实秋0x01 什么是 d8V8源码编译出来的可执行程序名为d8。d8作为V8引擎在命令行中可以使用的交互shell存在。平常V8的shell是在浏览器中可以看到的。Google官方已经不记得d8这个名字的由来,但是做为"delveloper she...原创 2019-12-20 16:09:04 · 1662 阅读 · 0 评论 -
V8源码分析之win7源码编译(第三篇)
0x00 前言前面已经把V8源码download下来和build的过程都讲过了。这里不做过多赘述,只说说在win7下搭建环境与的的一些问题。0x01 系统环境名称版本位数备注操作系统Windows 7 Professional6.1.7601, Service Pack 164 bit\Python2.7.1364 bit\问题1. g...原创 2019-12-05 12:09:57 · 2726 阅读 · 0 评论 -
V8源码分析之Ubuntu16下编译源码(第二篇)
0x00 前言V8引擎使用Ninja进行构建源码,GN是用来辅助生成Ninja配置文件的工具。从源码构建V8需要三个步骤:生成构建所需文件( generating build files)编译(compiling)运行测试用例(running tests)官方提供两种途径构建V8一键式工作流,使用辅助脚本gm优雅的完成构建3个步骤原始工作流,手动一步一步的执行构建命令0x...原创 2019-11-28 13:04:57 · 1197 阅读 · 0 评论 -
V8源码分析之Ubuntu16下获取源码(第一篇)
0x00 前言编译过程主要参考V8官网提供的指引手册进行,有坑的话我会尽量说明。官方指引手册【传送门】本文获取源码的前提是科学上网,请自行解决。0x01 使用GitV8的Git仓库为 https://chromium.googlesource.com/v8/v8.git,同时在GitHub上还有个官方镜像: https://github.com/v8/v8.不管是为了遵循主流思想在git...原创 2019-11-28 11:04:34 · 1419 阅读 · 0 评论