[发明专利]一种在JavaScript脚本语言中预生成机器码指令的方法和装置有效
申请号: | 201210379940.7 | 申请日: | 2012-10-09 |
公开(公告)号: | CN103077011A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 张振龙 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种在JavaScript脚本语言中预生成机器码指令的方法和装置,涉及动态语言编译领域,解决了提高机器码的生成速度这一问题。具体方案为:获取JavaScript脚本的中间代码,通过查询与所述中间代码对应的机器码指令的指令总长度,申请能容纳所述指令总长度的指令存储空间,将中间代码对应的机器码模板中的机器码指令复制到指令存储空间,根据中间代码,对与伪寄存器和立即数信息相关的机器码指令进行更改。本发明用于将中间代码生成机器码指令。 | ||
搜索关键词: | 一种 javascript 脚本语言 生成 机器码 指令 方法 装置 | ||
【主权项】:
一种在JavaScript脚本语言中预生成机器码的方法,其特征在于,包括:获取JavaScript脚本的中间代码;所述中间代码通过对JavaScript脚本的源程序解析得到;从机器码模板中查询与所述中间代码对应的机器码指令的指令总长度,并申请能容纳所述机器码指令的指令存储空间;所述指令存储空间用于保存所述中间代码对应的机器码指令;所述机器码模板包含有所述机器码指令和所述机器码指令的指令总长度;将所述中间代码对应的机器码指令复制到所述指令存储空间;根据所述中间代码中的立即数和/或伪寄存器,对与伪寄存器和立即数信息相关的机器码指令进行修改,以便于修改后的机器码指令符合所述中间代码的解析结果;所述与伪寄存器和立即数信息相关的机器码指令,包含在复制到所述指令存储空间的、与所述中间代码对应的机器码指令中;继续执行上述将所述中间代码对应的机器码模板中的机器码指令复制到所述指令存储空间,以及修改与伪寄存器和立即数信息相关的机器码指令的动作,直至生成所有中间代码对应的机器码指令。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210379940.7/,转载请声明来源钻瓜专利网。