发明名称 |
实时Java虚拟机中基于等价类的对象内存状态的记录跟踪方法 |
摘要 |
本发明是一种实时Java虚拟机中基于等价类的对象内存状态的记录跟踪方法。本发明方法对Java虚拟机上运行的每个方法,将方法中的所有等价类都记录在一个等价类链表中,方法内每一个对象都将包含在某一等价类中,表示内存信息的内存对象也包含在等价类中;链表中每个等价类的结构包括等价类ID、内存等价类Tag、对象集合、对象成员变量和等价类内存状态,内存等价类Tag标识等价类是否为内存信息等价类,等价类内存状态存储等价类所在的内存区域;利用等价类链表进行对象内存状态跟踪。本发明可以对程序中所有对象的所有可能的内存状态进行记录,为实时虚拟机的后续优化工作做准备,比如对象引用检查的消除等,从而提高了实时性能。 |
申请公布号 |
CN105260174A |
申请公布日期 |
2016.01.20 |
申请号 |
CN201510591571.1 |
申请日期 |
2015.09.16 |
申请人 |
北京航空航天大学 |
发明人 |
冯伟;史晓华;余恒洋 |
分类号 |
G06F9/44(2006.01)I;G06F11/36(2006.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
北京永创新实专利事务所 11121 |
代理人 |
祗志洁 |
主权项 |
一种实时Java虚拟机中基于等价类的对象内存状态的记录跟踪方法,其特征在于,实现步骤包括:首先,对于实时Java虚拟机上运行的每个方法,将方法中的所有等价类都记录在一个等价类链表中,方法内每一个对象都将包含在某一等价类中,表示内存信息的内存对象也包含在等价类中;链表中每个等价类的结构包括等价类ID、内存等价类Tag、对象集合、对象成员变量和等价类内存状态;等价类ID用于唯一标识一个等价类,内存等价类Tag用于标识等价类是否为内存信息等价类,对象集合包含等价类中的所有对象,对象成员变量包含等价类中所有对象的域成员变量,等价类内存状态存储等价类所在的内存区域;等价类内存状态指向某一等价类,被指向等价类为内存信息等价类,表示了当前等价类所在的内存区域;如果当前等价类的内存等价类Tag标识也为内存信息等价类,此时两个内存信息等价类的嵌套关系,映射表示Java实时规范中作用域内存的嵌套关系;然后,基于等价类链表进行对象内存状态跟踪。 |
地址 |
100191 北京市海淀区学院路37号 |