[发明专利]用于虚拟和接口方法调用的装置和方法有效
申请号: | 201580072468.4 | 申请日: | 2015-11-23 |
公开(公告)号: | CN107111495B | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 杨明耀;伊恩·安德鲁·罗杰斯 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 周亚荣;安翔 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 虚拟 接口 方法 调用 装置 | ||
1.一种用于虚拟和接口方法调用的方法,其包括:
使用计算设备分配软件对象的占位符类实例的存储,其中,所述占位符类实例包括接口方法表和占位符虚拟方法表,并且其中,所述占位符虚拟方法表具有估计虚拟方法表大小;
在分配所述占位符类实例的存储之后,确定所述软件对象的虚拟方法表的实际大小;
在确定所述虚拟方法表的所述实际大小之后,使用所述计算设备分配所述软件对象的类实例的存储,其中,所述类实例包括接口方法表和虚拟方法表,所述虚拟方法表具有所述虚拟方法表的所述实际大小;
在分配所述类实例的存储之后,用所述类实例替代所述占位符类实例;
在所述计算设备处接收调用所述类实例的软件方法的请求,其中,所述接口方法表包括一个或者多个接口方法表条目并且所述虚拟方法表包括一个或者多个虚拟表条目,其中,所述一个或者多个接口方法表条目包括针对与所述类实例相关联的软件接口的特定接口方法的特定接口方法表条目,所述特定接口方法表条目包括与所述特定接口方法有关的引用,其中,所述一个或者多个虚拟表条目包括针对与所述类实例相关联的特定虚拟方法的特定虚拟表条目,所述特定虚拟表条目包括与所述特定虚拟方法有关的引用;
使用所述计算设备,基于所述接口方法表和所述虚拟方法表中的至少一个来确定调用的软件方法的入口点,其中,所述入口点是所述调用的软件方法的第一可执行指令的地址;以及
使用所述计算设备,通过在所述入口点处执行指令来调用所述调用的软件方法。
2.根据权利要求1所述的方法,其中,基于所述接口方法表和所述虚拟方法表中的至少一个来确定所述调用的软件方法的所述入口点包括:
在确定所述调用的软件方法是所述软件接口的接口方法时,所述计算设备:
确定与所述调用的软件方法相关联的所述接口方法表的调用的接口方法表条目;以及
基于所述调用的接口方法表条目来确定所述入口点。
3.根据权利要求2所述的方法,其中,所述调用的接口方法表条目包括运行时间方法引用,以及其中,基于所述调用的接口方法表条目来确定所述入口点包括基于所述运行时间方法引用来确定所述入口点。
4.根据权利要求3所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,其中,所述运行时间方法引用包括所述特定运行时间方法的起始地址,以及其中,所述入口点基于存储在所述特定运行时间方法的所述起始地址中的值。
5.根据权利要求2所述的方法,其中,所述调用的接口方法表条目包括入口点值,以及其中,基于所述调用的接口方法表条目来确定所述入口点包括基于所述入口点值来确定所述入口点。
6.根据权利要求5所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,以及其中,所述入口点值包括所述特定运行时间方法的入口点。
7.根据权利要求1所述的方法,其中,基于所述接口方法表和所述虚拟方法表中的至少一个来确定所述调用的软件方法的所述入口点包括:
在确定所述调用的软件方法是与所述类实例相关联的虚拟方法时,所述计算设备:
确定与所述调用的软件方法相关联的所述虚拟方法表的调用的虚拟方法表条目;以及
基于所述调用的虚拟方法表条目来确定所述入口点。
8.根据权利要求7所述的方法,其中,所述调用的虚拟方法表条目包括运行时间方法引用,以及其中,基于所述调用的虚拟方法表条目来确定所述入口点包括基于所述运行时间方法引用来确定所述入口点。
9.根据权利要求8所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,其中,所述运行时间方法引用包括所述特定运行时间方法的起始地址,以及其中,所述入口点基于存储在所述特定运行时间方法的所述起始地址中的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580072468.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能钥匙及其控制系统
- 下一篇:一种安全技术防范系统