Lua虚拟机的机制分析
摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第13-16页 |
1.1 研究背景 | 第13页 |
1.2 国内外研究现状 | 第13-14页 |
1.3 选题意义 | 第14页 |
1.4 主要研究内容 | 第14页 |
1.5 论文结构安排 | 第14-16页 |
第二章 Lua语言特性 | 第16-32页 |
2.1 数据结构类型与实现 | 第16-20页 |
2.1.1 Lua表数据结构 | 第16-17页 |
2.1.2 Lua字符串 | 第17-18页 |
2.1.3 其他数据结构 | 第18-19页 |
2.1.4 面向对象的实现 | 第19-20页 |
2.2 Lua基础设施 | 第20-21页 |
2.2.1 内存管理 | 第20-21页 |
2.2.2 带缓冲的流处理 | 第21页 |
2.3 函数与闭包的实现 | 第21-22页 |
2.4 协程机制 | 第22-23页 |
2.5 Lua虚拟机指令集 | 第23-32页 |
2.5.1 算术和逻辑运算指令 | 第26-27页 |
2.5.2 值和表处理指令 | 第27-28页 |
2.5.3 跳转和函数调用指令 | 第28-30页 |
2.5.4 Lua寄存器结构 | 第30-32页 |
第三章 Lua虚拟机的实现 | 第32-58页 |
3.1 脚本解析与字节码生成 | 第32-37页 |
3.1.1 词法分析 | 第32-34页 |
3.1.2 语法分析 | 第34-36页 |
3.1.3 代码生成 | 第36-37页 |
3.2 垃圾回收(GC)机制 | 第37-42页 |
3.2.1 Lua GC类型 | 第37页 |
3.2.2 GC步骤 | 第37-41页 |
3.2.3 创建新对象的处理 | 第41-42页 |
3.3 Lua虚拟机的运行状态 | 第42-58页 |
3.3.1 Lua栈管理 | 第42-45页 |
3.3.2 线程执行及中断 | 第45-52页 |
3.3.3 全局状态机 | 第52-58页 |
第四章 Lua虚拟机的比较与改进 | 第58-77页 |
4.1 数据类型 | 第58-60页 |
4.1.1 分配空间时的性能差异 | 第58-59页 |
4.1.2 执行运算时的性能差异 | 第59-60页 |
4.2 解释过程 | 第60-61页 |
4.3 线程实现和调度 | 第61-63页 |
4.4 存储管理和GC机制 | 第63-66页 |
4.4.1 内存管理机制 | 第63-64页 |
4.4.2 GC机制 | 第64-66页 |
4.5 Lua虚拟机存在的不足及改进措施 | 第66-77页 |
4.5.1 Lua执行引擎改进方案 | 第67-71页 |
4.5.2 GC机制改进方案 | 第71-77页 |
第五章 改进的Lua虚拟机实验性能分析 | 第77-82页 |
5.1 实验过程 | 第77页 |
5.1.1 执行引擎的测试 | 第77页 |
5.1.2 内存管理的测试 | 第77页 |
5.2 实验结果和性能分析 | 第77-81页 |
5.3 本章小结 | 第81-82页 |
结论 | 第82-84页 |
参考文献 | 第84-86页 |
攻读学位期间发表的论文 | 第86-88页 |
致谢 | 第88页 |