没有合适的资源?快使用搜索试试~ 我知道了~
V8中HelloWorld的执行过程-part21
需积分: 0 0 下载量 129 浏览量
2022-08-04
12:33:42
上传
评论
收藏 2.17MB PDF 举报
温馨提示
试读
28页
1. (gdb) source deps/v8/tools/gdbinit , 2. 设置断点到CompileString函数之后, 3. 使用 jlh来查看l
资源详情
资源评论
资源推荐
V8中HelloWorld的解释执行过程-part2
智能软件研究中心 邱吉
qiuji@iscas.ac.cn
2021/09/10
上集回顾
在上次课程中,讲述了:
lhello.js:print(“Hell oWorld!”)的字节码和含义
l如何从--trace-sim的log文件中,梳理hello.js的解释执行过程
hello.js的字节码
./d8 --print-bytecode hello.js
Bytecode length: 13
Parameter count 1
Register count 3
Frame size 24
OSR nesting level: 0
Bytecode Age: 0
0xdf23ca206e @ 0 : 21 00 00 LdaGlobal [0], [0]
0xdf23ca2071 @ 3 : c2 Star1
0xdf23ca2072 @ 4 : 13 01 LdaConstant [1]
0xdf23ca2074 @ 6 : c1 Star2
0xdf23ca2075 @ 7 : 61 f9 f8 02
CallUndefinedReceiver1 r1, r2, [2]
0xdf23ca2079 @ 11 : c3 Star0
0xdf23ca207a @ 12 : a8 Return
Constant pool (size = 2)
0xdf23ca2019: [
FixedArray] in OldSpace
- map: 0x001bf11012c1 <Map>
- length: 2
0: 0x00df23c813a9 <String[5]: #print>
1: 0x00df23ca1f71 <String[5]: #hello>
Handler Table (size = 0)
Source Position Table (size = 0)
print(
”hello”)
概览./d8 --trace-sim hello.js 2>&1 |tee logt ra cesim.tx t
l grep搜索所有的“Call
to”和“Return to”
的行,就可以得到执
行流如何在各个
builtins中传递
l 蓝色的部分就是解释
器Ignition执行过程
CallImpl JSEntry
Call Builtin JSEntryTrampoline
Call Builtin Call_ReceiverIsAny
Call Builtin CallFunction_ReceiverIsAny
Call Builtin InterpreterEntryTrampoline
Call Builtin LdaGlobalHandler
Call Builtin LoadGlobalIC_NoFeedback
Call Builtin LoadIC_NoFeedback
Call Builtin
CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit
Call hos t Runtime::LoadNoFeedbackIC_Miss
Return Builtin LdaGlobalHandler
Call Builtin LdaConstantHandler
Call Builtin CallUndefinedReceiver1Handler
Call Builtin Call_ReceiverIsAny
Call Builtin CallFunction_ReceiverIsAny
Call Builtin HandleApiCall
Call Builtin AdaptorWithBuiltinExitFrame
Call Builtin CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit
Call hos t Builtin_HandleApiCall
Return Builtin InterpreterEntryTrampoline
Call Builtin ShortStarHandler
Call Builtin ReturnHandler
Return Builtin InterpreterEntryTrampoline
Return Builtin JSEntryTrampoline
Return Builtin JSEntry
第一部分:Prologue
第二部分:解释器主体
第三部分:Epilogue
剩余27页未读,继续阅读
艾闻
- 粉丝: 31
- 资源: 302
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ActivePerl5.26.1.2601
- apk_com.huawei.ar.measure_120000320.apk
- ActivePerl-5.16.2.1602-MSWin32-x86-296513
- Hidove在线聚合图床网站源码 支持15个接口自由更换 上传API,bootstrap4简约界面
- 2_附件1:2024春广东开放大学作业及教学平台操作指引.docx
- Mysql数据库考试题
- Cadence-16-6-电阻封装与3D模型
- 2023年12月青少年软件编程Python等级考试五级真题(含答案和解析)
- 全国及31个省级社会消费品(商品)零售总额1981-2023年
- ntpdate centos离线安装三剑客 ntp-4.2.6p5-29.el7.centos.x86-64.rpm
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0