[发明专利]用于代码性能分析的方法和装置有效
申请号: | 201310269717.1 | 申请日: | 2013-06-26 |
公开(公告)号: | CN103605554B | 公开(公告)日: | 2018-04-13 |
发明(设计)人: | 黄海涛;简宁胜 | 申请(专利权)人: | 马维尔国际贸易有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅 |
地址: | 巴巴多斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 代码 性能 分析 方法 装置 | ||
1.一种用于代码性能分析的方法,所述方法包括:
在对程序的执行期间收集符号信息,所述符号信息用于将所述程序中的代码的追踪映射到存储对应的本地代码的存储器地址,所述本地代码动态地从所述代码的追踪被编译;以及
使得所述符号信息在对所述程序的执行之后可用,以对所述程序的所述执行期间采样的评测数据进行分析。
2.根据权利要求1所述的方法,其中在对所述程序的所述执行期间收集所述符号信息,所述符号信息用于将所述程序中的所述代码的追踪映射到存储所述对应的本地代码的所述存储器地址,所述本地代码动态地从所述代码的追踪被编译还包括:
在虚拟机对所述程序的所述执行期间收集所述符号信息,所述符号信息用于将所述程序中的所述代码的追踪映射到存储所述对应的本地代码的所述存储器地址,所述本地代码动态地从所述代码的追踪被编译。
3.根据权利要求1所述的方法,其中收集所述符号信息,所述符号信息用于将所述程序中的所述代码的追踪映射到存储所述对应的本地代码的所述存储器地址,所述本地代码在对所述程序的所述执行期间动态地从所述代码的追踪被编译还包括:
检测针对所述程序中的所述代码的追踪的执行次数大于阈值;
将所述代码的追踪编译成本地代码;
将所述本地代码存储在高速缓存中的地址处;以及
生成符号,以将所述追踪映射到所述地址。
4.根据权利要求3所述的方法,还包括:
当所述执行次数大于所述阈值时,执行所述高速缓存中的所述本地代码;以及
当针对所述追踪的所述执行次数等于或小于所述阈值时,通过解译来执行代码的所述追踪。
5.根据权利要求1所述的方法,其中使得所述符号信息在对所述程序的执行之后可用,以对在对所述程序的所述执行期间采样的所述评测数据进行分析包括:
在对所述程序的所述执行终止之前生成文件,以包括所述符号信息。
6.根据权利要求5所述的方法,还包括:
将所述文件提供给评测器,所述评测器对在所述程序的所述执行期间采样的所述评测数据进行分析。
7.根据权利要求1所述的方法,还包括:
在对所述程序的所述执行的周期性中断期间收集所述评测数据。
8.一种用于代码性能分析的装置,所述装置包括:
存储器,被配置成存储用于虚拟机的软件指令;以及
处理器,被配置成执行所述软件指令,以:
启动虚拟机来执行程序;
在对所述程序的所述执行期间收集符号信息,所述符号信息用于将所述程序中的代码的追踪映射到存储对应的本地代码的存储器地址,所述本地代码动态地从所述代码的追踪被编译;以及
使得所述符号信息在对所述程序的所述执行之后可用,以对所述程序的所述执行期间采样的评测数据进行分析。
9.根据权利要求8所述的装置,其中所述处理器被配置成执行所述软件指令,以:
检测针对所述程序中的代码的追踪的执行次数大于阈值;
将所述代码的追踪编译成本地代码;
将所述本地代码存储在高速缓存中的地址处;以及
生成符号,以将所述追踪映射到所述地址。
10.根据权利要求9所述的装置,其中所述处理器被配置成:
当所述执行次数大于所述阈值时,执行所述高速缓存中的所述本地代码。
11.根据权利要求10所述的装置,其中所述追踪是第一追踪,并且所述处理器被配置成当针对代码的第二追踪的执行次数等于或小于所述阈值时,通过解译来执行所述第二追踪。
12.根据权利要求8所述的装置,其中所述处理器被配置成执行所述软件指令,以在对所述程序的所述执行终止之前生成文件,使得所述文件包括所述符号信息。
13.根据权利要求12所述的装置,其中所述文件被提供给评测器,所述评测器对所述程序的所述执行期间采样的所述评测数据进行分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于马维尔国际贸易有限公司,未经马维尔国际贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310269717.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种异型管成型模具及成型方法
- 下一篇:仿麂皮风格阻燃性交织织物