v8学习笔记(七) 执行过程
来源:互联网 发布:three.js开发指南摘要 编辑:程序博客网 时间:2024/06/09 16:15
v8执行过程
JS源码经过v8编译后得到Handle<Script>,调用API Script的Run()运行。
(1)由API进入v8内部,取到JSFunction对象: API Handle<Script>转换为Handle<JSFunction>,得到JSFunction对象
(2)通过(动态)内建JSEntry Code对象的入口函数调用目标机器指令:
通过JSEntryStub获得内建的JSEntry Code对象(含有内建入口函数的机器指令),再得到其JS入口函数地址(第一条机器指令的地址) , 调用入口函数 , 同时将(JS源码编译后生成的)JSFunction中的Code对象的入口函数地址作为参数.
JSEntryFunction entry = FUNCTION_CAST<JSEntryFunction>(code->entry());//内建入口函数地址
// Call the function through the right JS entry stub.
byte* entry_address = func->code()->entry();
JSFunction* function = *func;
Object* receiver_pointer = *receiver;
//跳到运行时动态产生的JS入口函数机器指令处执行,随后跳到动态产生的目标机器指令处
entry(entry_address, function,receiver_pointer, argc, args);
- v8学习笔记(七) 执行过程
- v8学习笔记(五) 编译过程
- v8学习笔记(六) 汇编过程
- v8学习笔记
- JVM深入学习笔记七-JVM执行
- JVM学习笔记(二) 执行过程
- C#学习笔记(七):接口的执行
- 项目管理学习笔记之七沟通管理过程总结
- rabbitMQ学习笔记(七) RPC 远程过程调用
- rabbitMQ学习笔记(七) RPC 远程过程调用
- Redis 学习笔记七 C#使用redis 处理过程
- Mysql学习笔记七,存储过程和函数
- JVM学习笔记(七):类加载的过程
- v8学习笔记(一) 调用层次
- v8学习笔记(三) 运行时环境
- v8学习笔记(四) 对象机制
- Processing学习笔记 之 Processing简要执行过程
- java学习笔记 标准for循环的执行过程
- Gstreamer的一些基本概念与A/V同步分析
- SP2010: SharePoint 2010认证大师考试之---安装配置 Exam 70-667
- 测试书籍 - 《探索式软件测试》
- SQL中join on ...and 和join on ... where
- java正则表达式学习
- v8学习笔记(七) 执行过程
- 你为谁工作-专业、专注才能做大做强
- sql2005自动备份数据库
- java时间操作函数汇总
- v8学习笔记(八) 【JS与C++互调】
- How to filter the ManyToManyField or ForeignKey in modelForm?
- servlet实现文件的上载,下载
- js 获取网址
- 游戏编程入门