[发明专利]没有使用的特殊指令的垃圾收集有效
| 申请号: | 201680031331.9 | 申请日: | 2016-06-21 |
| 公开(公告)号: | CN107636624B | 公开(公告)日: | 2021-06-15 |
| 发明(设计)人: | G·R·弗雷泽;M·K·格施温德 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅 |
| 地址: | 美国纽*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 没有 使用 特殊 指令 垃圾 收集 | ||
促进垃圾收集处理。基于加载指令的执行以及确定要被加载的对象指针的地址位于指针存储区域中并且对象指针指示经历垃圾收集的所选择的存储器部分内的位置,处理控制由在计算环境的处理器内执行的处理程序来获取。处理程序从指针存储区域获取对象指针,并且确定对象指针是否要被修改。如果对象指针要被修改,则处理程序修改对象指针。处理程序然后可以将经修改的对象指针存储在所选择的位置。
背景技术
一个或多个方面总体上涉及计算环境内的处理,并且具体地涉及计算环境内的垃圾收集处理。
垃圾收集是一个自动存储器管理过程,其标识存储器中不再被引用的对象并且释放这些对象。随着不同大小的存储器对象被分配并且稍后释放,存储其的存储器变得越来越碎片化。最终,存在很少的大的空闲存储器区域,并且在不增加存储器大小的情况下存储附加对象将变得很困难。当发生这种情况时,采用被称为压缩的垃圾收集内的过程,以便将所分配的对象合并为一个大的区域,从而留下可用于新的对象的另一大的空闲空间区域。在合并期间,仍然被引用的存储器对象从一个存储器区域移动到另一存储器区域。
传统上,当对对象存储区域执行垃圾收集时,需要使使用对象存储区域的应用暂停执行。其中一个原因是为了确定指向由应用使用以访问对象的对象的指针是否仍然有效,因为对象可能已经移动。有时几秒钟长的这些暂停防止应用被用于时间敏感的任务,诸如事务处理、实时游戏或机械控制。因此,需要优化的垃圾收集过程。
发明内容
根据本发明的一个或多个实施例,提供了一种优化的垃圾收集过程,该过程在应用没有访问经历垃圾收集的存储器区域中的对象时,使得这些应用在垃圾收集过程期间能够继续执行(而不会由于垃圾收集而被暂停),并且使得访问经历垃圾收集的存储器区域中的对象的应用在非常短暂的延迟之后立即恢复处理。这是通过提供一种有效的机制来实现的,该机制用于识别指向正在被收集的对象存储区域的指针何时被访问,获取指向正在被垃圾收集的存储器区域中的对象的指针,并且修改指针。有利地,这是在没有使用特殊指令和/或不需要用于执行特殊指令的程序修改的情况下执行的。此外,包括应用性能和/或处理器性能在内的计算环境内的性能被改善。
根据一个方面,提供了一种用于促进计算环境内的垃圾收集的计算机程序产品。该计算机程序产品包括由处理电路可读取并且存储用于由处理电路执行以执行方法的指令的存储介质。该方法包括例如由在计算环境的处理器内执行的处理程序获取处理控制。获取处理控制基于加载指令的执行以及要被加载的对象指针的地址位于指针存储区域中并且对象指针指示经历垃圾收集的所选择的存储器部分内的位置的确定。基于由处理程序获取处理控制,由处理程序从指针存储区域获取对象指针,对象指针指示要由对象指针指向的对象的位置。由处理程序确定对象指针是否要被修改,并且基于确定对象指针要被修改,由处理程序修改对象指针以提供经修改的对象指针。基于修改对象指针,将经修改的对象指针存储在所选择的位置。
有利地,这允许使用没有经历垃圾收集的存储器区域中的对象的应用在垃圾收集期间继续处理而没有中断,并且允许使用经历垃圾收集的存储器区域中的对象的应用在非常短的不可察觉的延迟之后继续处理,从而提高性能。此外,它不需要使用特殊指令或修改应用以使用特殊指令。
在一个实施例中,获取处理控制经由由处理器硬件发出的中断。中断基于加载指令的执行以及要被加载的对象指针的地址位于指针存储区域中并且对象指针指示经历垃圾收集的所选择的存储器部分内的位置的确定而被发出。在一个特定示例中,中断是轻量级的中断(即不涉及操作系统),它直接向应用级处理程序给与控制。有利地,这些实施例中的一个或多个实现了由处理程序的立即处理,并且使得访问指针的应用能够在中断被处理之后立即继续处理,而没有引起管理者级中断处理程序的延迟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680031331.9/2.html,转载请声明来源钻瓜专利网。





