优化OAT中冗余指令的方法及移动终端技术

技术编号:16152616 阅读:38 留言:0更新日期:2017-09-06 18:09
本发明专利技术公开了一种移动终端,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的优化OAT中冗余指令的程序,优化OAT中冗余指令的程序被处理器执行时实现如下步骤:获取OAT文件中最小本地指令块内包含的数据传输指令;获取各所述数据传输指令的顶点和数据传输方向并存储于有向图邻接矩阵中;根据所述有向图邻接矩阵计算各所述顶点的出度和入度并判断所述顶点的出度和入度是否相同;若所述顶点的出度和入度相同,则判定所述顶点为冗余顶点;获取包含所述冗余顶点的数据传输指令,并进行优化。与现有技术相比,本发明专利技术实现了对OAT文件中的本地指令中的数据传输指令进行优化,去除冗余的数据传输指令。

【技术实现步骤摘要】
优化OAT中冗余指令的方法及移动终端
本专利技术涉及移动终端
,尤其涉及一种优化OAT中冗余指令的方法及移动终端。
技术介绍
Java虚拟机屏蔽了具体的硬件平台,使Java成为跨平台的语言,进而使得Java成为最受欢迎的高级语言之一。但Java虚拟机的运行效率一直为人诟病。虽然Android的Dalvik虚拟机做了很多改进,但与本地指令比起来,Dalvik的执行效率依然很低。为此,Android在kikat后引入art虚拟机,apk中的dex文件经过优化后生成oat格式的文件,Oat格式的文件是elf文件的一种,Oat文件里面不仅有dex指令,更重要的是有dex指令对应的本地指令,以前需要在Dalvik虚拟机上执行dex指令,现在直接执行对应的本地指令即可。如此一来,大大提高了执行效率。然而,OAT文件中的本地指令存在较大的冗余,导致OAT文件的体积较大,浪费内存空间,且冗余指令较多也降低了代码执行速度。因此,有必要提供一种优化OAT中冗余指令的方法及移动终端来解决上述技术问题。
技术实现思路
本专利技术的主要目的在于提出一种优化OAT中冗余指令的方法及移动终端,旨在解决OAT文件本文档来自技高网...
优化OAT中冗余指令的方法及移动终端

【技术保护点】
一种移动终端,其特征在于,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的优化OAT中冗余指令的程序,所述优化OAT中冗余指令的程序被所述处理器执行时实现如下步骤:获取OAT文件中最小本地指令块内包含的数据传输指令,其中所述最小本地指令块为不包含判断逻辑的本地指令块;获取各所述数据传输指令的顶点和数据传输方向并将所述顶点和所述数据传输方向存储于有向图邻接矩阵中;根据所述有向图邻接矩阵计算各所述顶点的出度和入度并判断所述顶点的出度和入度是否相同;若所述顶点的出度和入度相同,则判定所述顶点为冗余顶点;获取包含所述冗余顶点的数据传输指令,并将以所述冗余顶点作为目的地址的数据...

【技术特征摘要】
1.一种移动终端,其特征在于,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的优化OAT中冗余指令的程序,所述优化OAT中冗余指令的程序被所述处理器执行时实现如下步骤:获取OAT文件中最小本地指令块内包含的数据传输指令,其中所述最小本地指令块为不包含判断逻辑的本地指令块;获取各所述数据传输指令的顶点和数据传输方向并将所述顶点和所述数据传输方向存储于有向图邻接矩阵中;根据所述有向图邻接矩阵计算各所述顶点的出度和入度并判断所述顶点的出度和入度是否相同;若所述顶点的出度和入度相同,则判定所述顶点为冗余顶点;获取包含所述冗余顶点的数据传输指令,并将以所述冗余顶点作为目的地址的数据传输指令和以所述冗余顶点作为源地址的数据传输指令优化为一条数据传输指令。2.如权利要求1所述的移动终端,其特征在于,所述处理器还用于执行所述优化OAT中冗余指令的程序,以实现如下步骤:获取包含所述冗余顶点的数据传输指令,其中所述数据传输指令包括将所述冗余顶点作为目的地址的第一数据传输指令和将所述冗余顶点作为源地址的第二数据传输指令;将所述第一数据传输指令标记为无效数据传输指令;将所述第二数据传输指令的源地址修改为所述第一数据传输指令的源地址;删除所述无效数据传输指令。3.如权利要求2所述的移动终端,其特征在于,所述处理器还用于执行所述优化OAT中冗余指令的程序,以实现如下步骤:在所述有向图邻接矩阵中存储所述数据传输指令的地址;从所述有向图邻接矩阵中查找包含所述冗余顶点的数据传输指令的地址;根据所述地址查找相应的数据传输指令。4.如权利要求1所述的移动终端,其特征在于,所述获取OAT文件中最小本地指令块内包含的数据传输指令的步骤之前,所述处理器还用于执行所述优化OAT中冗余指令的程序,以实现如下步骤:获取OAT文件内的本地指令中所包含的分支跳转指令;根据所述分支跳转指令将所述本地指令分割为多个最小本地指令块;所述获取OAT文件中最小本地指令块内包含的数据传输指令的步骤之后还,所述处理器还用于执行所述优化OAT中冗余指令的程序,以实现如下步骤:根据各所述数据传输指令的顶点和数据传输方向构建有向图;将所述有向图存储于有向图邻接矩阵中。5.一种优化OAT中冗余指令的方法,应用于移动终端,其特征在于,所述优化OAT中冗余指令的方法包括以下步骤:获取OAT文件中最小本地指令块内包含的数据传输指令,其中所述最小本地指令块为...

【专利技术属性】
技术研发人员:吕伟
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1