[发明专利]用于在可控运行时环境中进行基于硬件的动态逸出检测的方法和装置有效
申请号: | 201210033006.X | 申请日: | 2006-12-18 |
公开(公告)号: | CN102693188A | 公开(公告)日: | 2012-09-26 |
发明(设计)人: | Q·A·雅克布森;S·斯里尼瓦斯;A·C·布雷西;H·王 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F12/02 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 可控 运行 环境 进行 基于 硬件 动态 检测 方法 装置 | ||
1.一种具有机器可访问存储介质的制造产品,所述机器可访问存储介质包括相关联的数据,其中,当该数据被访问时,导致机器执行以下操作:
发出单个指令,以断言与来自全局对象的所标识指针更新的目标对象相关联的范围属性将所述目标对象的范围标识为全局;
如果所述单个指令检测出与所述目标对象相关联的范围属性将所述目标对象的范围标识为局部,则通过所述单个指令来调用处理程序例程,以验证所述目标对象的范围为局部;以及
如果所述目标对象的范围被验证为局部,则对所述目标对象的对象描述符进行编码,以将所述目标对象的范围标识为全局,其中,如果与所述目标对象相关联的范围属性将所述目标对象的范围标识为全局,则用于动态逸出检测的写屏障被减小为所述单个指令。
2.如权利要求1所述的制造产品,其中,所述机器可访问存储介质还包括相关联的数据,当该数据被访问时,进一步导致所述机器执行以下操作:
维护由应用程序生成的包含所有局部对象的对象列表;
检测从高速缓存中对高速缓存行的逐出;
查询所述对象列表,以确定所逐出的高速缓存行是否是至少一个所逐出局部对象的起始高速缓存行;以及
如果所逐出的高速缓存行是所逐出局部对象的起始高速缓存行,则在高速缓存内重新加载所述高速缓存行。
3.如权利要求2所述的制造产品,其中,所述机器可访问存储介质还包括相关联的数据,当所述数据被访问时,进一步导致所述机器执行以下操作:
标识被初始加载到高速缓存中的所有对象,以将每个所标识对象各自的属性位设置为默认的局部范围;以及
如果所述处理程序例程检测出目标对象的对象描述符将所述目标对象标识为具有局部范围,则更新所述目标对象的范围属性值。
4.如权利要求1所述的制造产品,其中,所述机器可访问存储介质还包括相关联的数据,当所述数据被访问时,进一步导致所述机器执行以下操作:
利用所述单个指令,将所述单个指令的目标地址与至少一个预定地址区域进行比较;
如果所述目标地址位于所述预定地址区域内,则确定所述预定地址区域的属性位值;以及
将所述预定区域的范围属性与预定局部范围值进行比较。
5.如权利要求1所述的制造产品,其中,所述机器可访问存储介质还包括相关联的数据,当所述数据被访问时,进一步导致所述机器执行以下操作:
将所有局部对象限制为在预定地址区域内创建;以及
提供用于所述区域的基本属性位设置。
6.如权利要求1所述的制造产品,其中,所述机器可访问存储介质还包括相关联的数据,当所述数据被访问时,进一步导致所述机器执行以下操作:
如果所述处理程序例程检测出所述目标对象的对象描述符将所述目标对象标识为具有局部范围,则更新所述目标对象的范围属性值;以及
将所述全局对象的指针更新为指向所述目标对象。
7.一种系统,包括:
主机平台;以及
可控运行时环境(MRTE),所述MRTE包括写屏障逻辑,用于发出单个指令,以断言与来自全局对象的指针更新的目标对象相关联的范围属性将所述目标对象的范围标识为全局,如果与所述目标对象相关联的范围属性将所述目标对象的范围标识为局部,则所述单个指令调用处理程序例程以验证所述目标对象的范围为局部,其中,如果与所述目标对象相关联的范围属性将所述目标对象的范围标识为全局,则所述写屏障逻辑被减小为所述单个指令。
8.如权利要求7所述的系统,进一步包括:
虚拟机监视器(VMM),用于加载虚拟机(VM)和全局垃圾收集器。
9.如权利要求7所述的系统,所述主机平台包括:
系统内存,其耦合到互连网络;以及
单芯片多处理器,其耦合到所述互连网络,所述单芯片多处理器包括多个处理器内核,其中,每个处理器内核都支持VMM,所述VMM用于加载运行时存储管理器和全局垃圾收集器。
10.如权利要求7所述的系统,其中,所述主机平台包括高速缓存,其包括对应于所述高速缓存内每个高速缓存行的至少一个范围属性位。
11.如权利要求7所述的系统,其中,所述写屏障逻辑进一步用于:将范围属性位与高速缓存的每个高速缓存行相关联,将由应用程序创建的每个对象映射到内存块,以及将被加载到所述高速缓存中的每个对象各自的范围属性位设置为局部和全局之一。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210033006.X/1.html,转载请声明来源钻瓜专利网。