【技术实现步骤摘要】
【国外来华专利技术】用于虚拟和接口方法调用的装置和方法相关申请的交叉引用本申请要求2015年1月5日提交的标题为“ApparatusandMethodsforVirtualandInterfaceMethodCalls”的美国专利申请第14/589,898号的优先权,该申请的全部内容通过引用合并于此。
技术介绍
除非本文另有指出,否则在本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因为被包括在本部分中就被承认为是现有技术。现代软件往往是使用面向对象原则来构建的,其中,利用对象的集合来执行软件的任务并且存储与软件相关的数据。许多对象包括对数据进行操作的方法(method)或者软件功能(function),所述数据包括但不限于作为对象的一部分存储的数据。在软件中,可以将对象定义为类,其包括用于该对象的方法列表和数据。类可以充当更专门的类的集合的原型。例如,在面向对象的图形软件中,可以将多边形的类用作三角形、方形、六角形等的类的原型。原型类可以称为基础类,并且更专门的类可以称为基础类的子类。
技术实现思路
在一个方面中,提供了一种方法。计算设备接收调用类实例的软件方法的请求。该类实例包括接口方法表和虚拟方法表。该接口方法表包括一个或者多个接口方法表条目。该一个或者多个接口方法表条目包括针对与类实例相关联的软件接口的特定接口方法的特定接口方法表条目。该特定接口方法表条目包括与特定接口方法有关的引用。虚拟方法表包括一个或者多个虚拟表条目。该一个或者多个虚拟表条目包括针对与类实例相关联的特定虚拟方法的特定虚拟表条目。该特定虚拟表条目包括与特定虚拟方法有关的引用。计算设备基于接口方法表和 ...
【技术保护点】
一种方法,其包括:在计算设备处接收调用类实例的软件方法的请求,其中,所述类实例包括接口方法表和虚拟方法表,其中,所述接口方法表包括一个或者多个接口方法表条目并且所述虚拟方法表包括一个或者多个虚拟表条目,其中,所述一个或者多个接口方法表条目包括针对与所述类实例相关联的软件接口的特定接口方法的特定接口方法表条目,所述特定接口方法表条目包括与所述特定接口方法有关的引用,其中,所述一个或者多个虚拟表条目包括针对与所述类实例相关联的特定虚拟方法的特定虚拟表条目,所述特定虚拟表条目包括与所述特定虚拟方法有关的引用;使用所述计算设备,基于所述接口方法表和所述虚拟方法表中的至少一个来确定调用的软件方法的入口点;以及使用所述计算设备,通过在所述入口点处执行指令来调用所述调用的软件方法。
【技术特征摘要】
【国外来华专利技术】2015.01.05 US 14/589,8981.一种方法,其包括:在计算设备处接收调用类实例的软件方法的请求,其中,所述类实例包括接口方法表和虚拟方法表,其中,所述接口方法表包括一个或者多个接口方法表条目并且所述虚拟方法表包括一个或者多个虚拟表条目,其中,所述一个或者多个接口方法表条目包括针对与所述类实例相关联的软件接口的特定接口方法的特定接口方法表条目,所述特定接口方法表条目包括与所述特定接口方法有关的引用,其中,所述一个或者多个虚拟表条目包括针对与所述类实例相关联的特定虚拟方法的特定虚拟表条目,所述特定虚拟表条目包括与所述特定虚拟方法有关的引用;使用所述计算设备,基于所述接口方法表和所述虚拟方法表中的至少一个来确定调用的软件方法的入口点;以及使用所述计算设备,通过在所述入口点处执行指令来调用所述调用的软件方法。2.根据权利要求1所述的方法,其中,基于所述接口方法表和所述虚拟方法表中的至少一个来确定所述调用的软件方法的所述入口点包括:在确定所述调用的软件方法是所述软件接口的接口方法时,所述计算设备:确定与所述调用的软件方法相关联的所述接口方法表的调用的接口方法表条目;以及基于所述调用的接口方法表条目来确定所述入口点。3.根据权利要求2所述的方法,其中,所述调用的接口方法表条目包括运行时间方法引用,以及其中,基于所述调用的接口方法表条目来确定所述入口点包括基于所述运行时间方法引用来确定所述入口点。4.根据权利要求3所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,其中,所述运行时间方法引用包括所述特定运行时间方法的起始地址,以及其中,所述入口点基于存储在所述特定运行时间方法的所述起始地址中的值。5.根据权利要求2所述的方法,其中,所述调用的接口方法表条目包括入口点值,以及其中,基于所述调用的接口方法表条目来确定所述入口点包括基于所述入口点值来确定所述入口点。6.根据权利要求5所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,以及其中,所述入口点值包括所述特定运行时间方法的入口点。7.根据权利要求1所述的方法,其中,基于所述接口方法表和所述虚拟方法表中的至少一个来确定所述调用的软件方法的所述入口点包括:在确定所述调用的软件方法是与所述类实例相关联的虚拟方法时,所述计算设备:确定与所述调用的软件方法相关联的所述虚拟方法表的调用的虚拟方法表条目;以及基于所述调用的虚拟方法表条目来确定所述入口点。8.根据权利要求7所述的方法,其中,所述调用的虚拟方法表条目包括运行时间方法引用,以及其中,基于所述调用的虚拟方法表条目来确定所述入口点包括基于所述运行时间方法引用来确定所述入口点。9.根据权利要求8所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,其中,所述运行时间方法引用包括所述特定运行时间方法的起始地址,以及其中,所述入口点基于存储在所述特定运行时间方法的所述起始地址中的值。10.根据权利要求7所述的方法,其中,所述调用的虚拟方法表条目包括入口点值,以及其中,基于所述调用的虚拟方法表条目来确定所述入口点包括基于所述入口点值来确定所述入口点。11.根据权利要求10所述的方法,其中,所述调用的软件方法与特定运行时间方法相关联,以及其中,所述入口点值包括所述特定运行时间方法的入口点。12.根据权利要求1所述的方法,其进一步包括:从基址开始将所述类实例存储在所述计算设备的存储器中,其中,所述接口方法表具有预定大小并且被配置为从离所述基址第一预定偏移地址处开始存储,其中,所述虚拟地址表被配置为从离所述基址第二预定偏移...
【专利技术属性】
技术研发人员:杨明耀,伊恩·安德鲁·罗杰斯,
申请(专利权)人:谷歌公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。