Profiler for executing computer program
    1.
    发明授权
    Profiler for executing computer program 失效
    Profiler用于执行计算机程序

    公开(公告)号:US08782623B2

    公开(公告)日:2014-07-15

    申请号:US13273644

    申请日:2011-10-14

    IPC分类号: G06F9/45

    CPC分类号: G06F11/3644 G06F8/4443

    摘要: A technique for comprehensively acquiring calling-context information at a low cost. Call site IDs are held for each thread as a call history and used as context information. At the time of calling a method, the call history existing in a current frame is shifted left, and stacked in a new frame, with the call site ID of the call site put in the lower bits. At the time of returning from the method, the value of the original call history is returned by returning the frame. At the time of performing a virtual call, call history information is recorded into a call position profile table used to identify a method to be inlined at the time of performing JIT compiling, in addition to determined jump destination information and the number of calls.

    摘要翻译: 以低成本全面获取呼叫上下文信息的技术。 呼叫站点ID作为呼叫历史保存在每个线程中,并用作上下文信息。 在呼叫方法时,存在于当前帧中的呼叫历史向左移动,并且堆叠在新的帧中,呼叫站点的呼叫站点ID被置于低位中。 在从方法返回时,通过返回帧返回原始呼叫历史的值。 在执行虚拟呼叫时,除了确定的跳转目的地信息和呼叫次数之外,呼叫历史信息被记录在用于识别执行JIT编译时要内联的方法的呼叫位置简档表中。

    METHOD AND SYSTEM FOR CODE GENERATION AND INLINING
    2.
    发明申请
    METHOD AND SYSTEM FOR CODE GENERATION AND INLINING 有权
    代码生成和引用的方法和系统

    公开(公告)号:US20120054725A1

    公开(公告)日:2012-03-01

    申请号:US13221171

    申请日:2011-08-30

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4443 G06F9/45516

    摘要: A method and system for code generation and inlining. The method includes: scanning a code, where the code includes a method; determining whether the method includes a branch if the method is too large in size to be inlined, where the branch is based on runtime types of argument; profiling runtime types of actual arguments at a call site in the method if the method includes the branch; generating a polymorphic inline cache (PIC) code from a plurality of arguments, where the plurality of arguments are based on a result of the profiling step; generating a specialized method for a frequently appearing combination of the runtime types of argument and arguments that can be invoked from the PIC code; and inlining body of the specialized method into the call site if the specialized method has a body size within a permissible range.

    摘要翻译: 一种用于代码生成和内联的方法和系统。 该方法包括:扫描代码,其中代码包括方法; 确定方法是否包括分支,如果该方法的大小太大以致于内联,其中分支基于参数的运行时类型; 如果方法包含分支,则在方法中的调用站点上分析实际参数的运行时类型; 从多个参数生成多态内联高速缓存(PIC)代码,其中所述多个参数基于所述分析步骤的结果; 生成可以从PIC代码调用的参数和参数的运行时类型的经常出现的组合的专门方法; 并且如果专门的方法具有允许范围内的身体尺寸,则将专门方法的身体内联到呼叫站点。

    PROFILER FOR EXECUTING COMPUTER PROGRAM
    3.
    发明申请
    PROFILER FOR EXECUTING COMPUTER PROGRAM 失效
    执行计算机程序的概要文件

    公开(公告)号:US20120096447A1

    公开(公告)日:2012-04-19

    申请号:US13273644

    申请日:2011-10-14

    IPC分类号: G06F9/45

    CPC分类号: G06F11/3644 G06F8/4443

    摘要: A technique for comprehensively acquiring calling-context information at a low cost. Call site IDs are held for each thread as a call history and used as context information. At the time of calling a method, the call history existing in a current frame is shifted left, and stacked in a new frame, with the call site ID of the call site put in the lower bits. At the time of returning from the method, the value of the original call history is returned by returning the frame. At the time of performing a virtual call, call history information is recorded into a call position profile table used to identify a method to be inlined at the time of performing JIT compiling, in addition to determined jump destination information and the number of calls.

    摘要翻译: 以低成本全面获取呼叫上下文信息的技术。 呼叫站点ID作为呼叫历史保存在每个线程中,并用作上下文信息。 在呼叫方法时,存在于当前帧中的呼叫历史向左移动,并且堆叠在新的帧中,呼叫站点的呼叫站点ID被置于低位中。 在从方法返回时,通过返回帧返回原始呼叫历史的值。 在执行虚拟呼叫时,除了确定的跳转目的地信息和呼叫次数之外,呼叫历史信息被记录在用于识别执行JIT编译时要内联的方法的呼叫位置简档表中。

    Compiler for supporting multiple runtime data representations
    4.
    发明授权
    Compiler for supporting multiple runtime data representations 有权
    用于支持多个运行时数据表示的编译器

    公开(公告)号:US06457172B1

    公开(公告)日:2002-09-24

    申请号:US09290821

    申请日:1999-04-13

    IPC分类号: G06F945

    CPC分类号: G06F8/447

    摘要: A compiler having one or more separate components, each of which contains the source code of the compiler which is responsible for implementing a corresponding data representation. These components are responsible for all of the parts of compilation which depend on the corresponding data representation. In one aspect of the present invention, a compiler comprises: a converter for converting program code to object code; and a data representation implementor for isolating within the compiler information that relates to representation of data at runtime, wherein the converter accesses the data representation implementor to obtain information that is needed for converting any portion of the program code that is dependent on representation of data at runtime.

    摘要翻译: 具有一个或多个单独组件的编译器,每个组件都包含负责实现相应数据表示的编译器的源代码。 这些组件负责编译的所有部分,这取决于相应的数据表示。 在本发明的一个方面,编译器包括:转换器,用于将程序代码转换为目标代码; 以及数据表示实现者,用于在编译器内分离与运行时数据表示相关的信息,其中转换器访问数据表示实现者,以获得转换依赖于数据表示的程序代码的任何部分所需的信息 运行。

    Providing code improvements for nested virtual machines
    5.
    发明授权
    Providing code improvements for nested virtual machines 有权
    为嵌套虚拟机提供代码改进

    公开(公告)号:US08387031B2

    公开(公告)日:2013-02-26

    申请号:US12358564

    申请日:2009-01-23

    IPC分类号: G06F9/45

    摘要: A mechanism is provided for operating a computing system, in which an inner virtual machine translates first instructions, which are supported by the inner virtual machine, into second instructions, which are supported by an outer virtual machine. The mechanism encodes, in the inner virtual machine, third instructions into the second instructions into which the first instructions are translated, the third instructions including hints for facilitating an execution of the second instructions, and, in an event the hints are supported by the outer virtual machine, initiating the execution of the second instructions while utilizing the hints by the outer virtual machine to achieve an increased efficiency of the execution of the second instructions.

    摘要翻译: 提供了一种用于操作计算系统的机制,其中内部虚拟机将由内部虚拟机支持的第一指令转换成由外部虚拟机支持的第二指令。 该机制在内部虚拟机中将第三指令编码到第一指令转换到的第二指令中,第三指令包括用于促进第二指令的执行的提示,以及在一些事件中,提示由外部 虚拟机,在外部虚拟机利用提示的同时开始执行第二指令,以实现提高执行第二指令的效率。

    Deep Copying Objects in a Collocated Environment
    6.
    发明申请
    Deep Copying Objects in a Collocated Environment 有权
    深层复制并置环境中的对象

    公开(公告)号:US20120192206A1

    公开(公告)日:2012-07-26

    申请号:US13425844

    申请日:2012-03-21

    IPC分类号: G06F9/46

    CPC分类号: G06F9/45504 G06F9/547

    摘要: Systems and methods of passing arguments between client and server contexts may provide for detecting an in-process call between a client and a server, wherein the client and the server share a common virtual machine instance. An object copy from a source object of the in-process call to a destination object can be conducted based on an internal class structure of the virtual machine instance. The object copy procedure may be repeated for a plurality of source objects of the in-process call.

    摘要翻译: 在客户端和服务器上下文之间传递参数的系统和方法可以提供用于检测客户端和服务器之间的进程内调用,其中客户端和服务器共享公共虚拟机实例。 可以基于虚拟机实例的内部类结构,将进程中调用的源对象的目标对象复制到目标对象。 可以针对进程内呼叫的多个源对象重复对象复制​​过程。

    Deep copying objects in a collocated environment
    7.
    发明授权
    Deep copying objects in a collocated environment 有权
    在并置环境中深层复制对象

    公开(公告)号:US08667507B2

    公开(公告)日:2014-03-04

    申请号:US13425844

    申请日:2012-03-21

    IPC分类号: G06F9/44

    CPC分类号: G06F9/45504 G06F9/547

    摘要: Systems and methods of passing arguments between client and server contexts may provide for detecting an in-process call between a client and a server, wherein the client and the server share a common virtual machine instance. An object copy from a source object of the in-process call to a destination object can be conducted based on an internal class structure of the virtual machine instance. The object copy procedure may be repeated for a plurality of source objects of the in-process call.

    摘要翻译: 在客户端和服务器上下文之间传递参数的系统和方法可以提供用于检测客户端和服务器之间的进程内调用,其中客户端和服务器共享公共虚拟机实例。 可以基于虚拟机实例的内部类结构,将进程中调用的源对象的目标对象复制到目标对象。 可以针对进程内呼叫的多个源对象重复对象复制​​过程。

    Deep copying objects in a collocated environment
    8.
    发明授权
    Deep copying objects in a collocated environment 有权
    在并置环境中深层复制对象

    公开(公告)号:US08516501B2

    公开(公告)日:2013-08-20

    申请号:US12854198

    申请日:2010-08-11

    IPC分类号: G06F9/44

    CPC分类号: G06F9/45504 G06F9/547

    摘要: Systems and methods of passing arguments between client and server contexts may provide for detecting an in-process call between a client and a server, wherein the client and the server share a common virtual machine instance. An object copy from a source object of the in-process call to a destination object can be conducted based on an internal class structure of the virtual machine instance. The object copy procedure may be repeated for a plurality of source objects of the in-process call.

    摘要翻译: 在客户端和服务器上下文之间传递参数的系统和方法可以提供用于检测客户端和服务器之间的进程内调用,其中客户端和服务器共享公共虚拟机实例。 可以基于虚拟机实例的内部类结构,将进程中调用的源对象的目标对象复制到目标对象。 可以针对进程内呼叫的多个源对象重复对象复制​​过程。

    Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance
    9.
    发明授权
    Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance 失效
    用于虚拟机环境的即时编译的系统,方法和计算机产品,可实现快速的应用程序启动和最大的运行时性能

    公开(公告)号:US08286152B2

    公开(公告)日:2012-10-09

    申请号:US11842986

    申请日:2007-08-22

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45533 G06F9/45516

    摘要: Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast applications start-up and maximal run-time performance. Exemplary embodiments include a just in time compilation method for a virtual machine environment coupled to a memory, including identifying a program structure for compilation, creating a low optimization compiled version of the program structure that is relocatable in the memory, storing into a persistent cache the low optimization compiled version of the program structure that is relocatable and relocating the low optimization compiled version of the program structure into a virtual machine address space in the memory, wherein relocating the low optimization compiled version of the program structure includes transforming the low optimization compiled version to a compiled version with fixed addresses in the memory that can be executed.

    摘要翻译: 用于虚拟机环境的即时编译的系统,方法和计算机产品,用于快速启动应用程序和最大的运行时性能。 示例性实施例包括用于耦合到存储器的虚拟机环境的即时编译方法,包括识别用于编译的程序结构,创建可重新定位在存储器中的程序结构的低优化编译版本,将其存储到持久高速缓存中 低优化编译版本的程序结构,可重定位并将程序结构的低优化编译版本重定位到存储器中的虚拟机地址空间中,其中重新定位程序结构的低优化编译版本包括转换低优化编译版本 到具有可执行的存储器中的固定地址的编译版本。

    METHOD AND SYSTEM TO IMPROVE CODE IN VIRTUAL MACHINES
    10.
    发明申请
    METHOD AND SYSTEM TO IMPROVE CODE IN VIRTUAL MACHINES 有权
    在虚拟机中改进代码的方法和系统

    公开(公告)号:US20100192137A1

    公开(公告)日:2010-07-29

    申请号:US12358564

    申请日:2009-01-23

    IPC分类号: G06F9/45

    摘要: A computer readable storage medium is provided having executable instructions stored thereon for executing a method of operating a computing system, in which an inner virtual machine translates first instructions, which are supported by the inner virtual machine, into second instructions, which are supported by an outer virtual machine. The method includes encoding, in the inner virtual machine, third instructions into the second instructions into which the first instructions are translated, the third instructions including hints for facilitating an execution of the second instructions, and, in an event the hints are supported by the outer virtual machine, initiating the execution of the second instructions while utilizing the hints by the outer virtual machine to achieve an increased efficiency of the execution of the second instructions.

    摘要翻译: 提供了一种计算机可读存储介质,其具有存储在其上的可执行指令,用于执行操作计算系统的方法,其中内部虚拟机将由内部虚拟机支持的第一指令转换为第二指令,第二指令由 外部虚拟机。 所述方法包括在所述内部虚拟机中对所述第一指令进行转换的第二指令进行编码,所述第三指令包括用于促进所述第二指令的执行的提示,以及在所述提示由所述第一指令支持的情况下, 外部虚拟机,在外部虚拟机利用提示的同时启动第二指令的执行,以实现提高执行第二指令的效率。