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 Speeding Up Mutual Exclusion
    3.
    发明申请
    Method and System for Speeding Up Mutual Exclusion 失效
    加快相互排斥的方法和系统

    公开(公告)号:US20080276256A1

    公开(公告)日:2008-11-06

    申请号:US12173551

    申请日:2008-07-15

    IPC分类号: G06F9/44

    摘要: In a multiprocessor computer system, a lock operation is maintained with a thread using non-atomic instructions. Identifiers are assigned to each thread. Flags in conjunction with the thread identifiers are used to determine the continuity of the lock with a thread. However, in the event continuity of the lock with the thread ceases, a compare-and-swap operation is executed to reset the lock with the same thread or another thread. Similarly, in the event there has been a collision between two or more threads requesting the lock, a compare-and-swap operation is executed to assign the lock to one of the requesting threads. Accordingly, prolonged ownership of a lock operation by a thread is encouraged to mitigate use of atomic operations in granting of the lock to a non-owning thread.

    摘要翻译: 在多处理器计算机系统中,使用非原子指令的线程来维护锁定操作。 标识符分配给每个线程。 与线程标识符一起使用的标志用于确定带有线程的锁的连续性。 但是,在线程的锁定的连续性停止的情况下,执行比较和交换操作以使用相同的线程或其他线程重置锁定。 类似地,如果两个或多个请求锁的线程之间发生冲突,则执行比较和交换操作以将锁分配给请求线程之一。 因此,鼓励延长线程锁定操作的所有权,以减轻使用原子操作来授予对非拥有线程的锁定。

    Compiler, dynamic compiler, and replay compiler
    4.
    发明授权
    Compiler, dynamic compiler, and replay compiler 失效
    编译器,动态编译器和重播编译器

    公开(公告)号:US07406684B2

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

    申请号:US11042722

    申请日:2005-01-25

    IPC分类号: G06F9/45

    摘要: The same executable instruction stream as an executable instruction stream generated by a dynamic compiler is reproduced to facilitate debugging of the dynamic compiler. Provides compiler program for computer functioning as: an execution status obtaining section for obtaining an execution status of the program; a dynamic compilation section for compiling one of the partial programs to be executed during execution of the program; an execution status recording section for recording the execution status in a memory area allocated on a memory of the computer; a file reading section for reading a file containing contents of the memory area allocated on the memory; and a replay compilation section for compiling the one partial program on the basis of the execution status obtained from the file to generate the same executable instruction stream as the executable instruction stream generated by the dynamic compilation section during the execution of the program.

    摘要翻译: 与动态编译器生成的可执行指令流相同的可执行指令流被复制以便于动态编译器的调试。 提供用于计算机功能的编译器程序:执行状态获取部分,用于获取程序的执行状态; 用于编译在程序执行期间执行的部分程序之一的动态编译部分; 执行状态记录部分,用于将执行状态记录在分配在计算机的存储器上的存储区域中; 用于读取包含分配在存储器上的存储区域的内容的文件的文件读取部分; 以及重放编辑部分,用于根据从文件获得的执行状态来编译一个部分程序,以在程序执行期间生成与由动态编译部分生成的可执行指令流相同的可执行指令流。

    Compiler device, program, and recording medium
    6.
    发明申请
    Compiler device, program, and recording medium 失效
    编译器设备,程序和记录介质

    公开(公告)号:US20050108697A1

    公开(公告)日:2005-05-19

    申请号:US10787005

    申请日:2004-02-25

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/443

    摘要: Compiler device for optimizing program which manipulates a character string includes append instruction detection unit, store code generation unit, and append code generation unit. The append instruction detection unit detects an append instruction which appends a character string to a string variable for storing a character string, in the program. The store code generation unit generates, a substitute for each of a plurality of the append instructions detected by the append instruction detection unit, a store code for storing data of an appendant character string to be appended to the string variable by the append instruction into a buffer. The append instructions append the character strings to the same string variable. The append code generation unit generates append code for appending a plurality of the appendant character strings to the string variable, at a position executed before an instruction to refer to the string variable in the program.

    摘要翻译: 用于优化处理字符串的程序的编译器装置包括附加指令检测单元,存储代码生成单元和附加代码生成单元。 附加指令检测单元在程序中检测附加字符串到用于存储字符串的字符串变量的附加指令。 存储代码生成单元生成由附加指示检测单元检测到的多个附加指令中的每一个的替代,存储代码,用于存储要由附加指令附加到字符串变量的附加字符串的数据到 缓冲。 附加说明将字符串附加到相同的字符串变量。 附加代码生成单元生成用于将多个附加字符串附加到字符串变量的附加代码,在在程序中引用字符串变量的指令之前执行的位置处。

    Garbage collection of an object
    8.
    发明授权
    Garbage collection of an object 有权
    垃圾收集对象

    公开(公告)号:US09390006B2

    公开(公告)日:2016-07-12

    申请号:US13568646

    申请日:2012-08-07

    摘要: One or more embodiments are directed to creating a structure comprising a weak reference to an object, a strong reference to the object, a count of remote references to the object, and an identifier for the object, incrementing the count when a remote reference is created to the object and decrementing the count when a remote reference is removed, setting the strong reference in response to the count being greater than a first threshold in order to avoid a garbage collection of the object, clearing the strong reference in response to the count being less than a second threshold to enable a garbage collection of the object, and removing the structure and related resources based on a recognition of the object's collection through the weak reference.

    摘要翻译: 一个或多个实施例涉及创建包括对对象的弱引用,对对象的强引用,对对象的远程引用的计数以及对象的标识符的结构,当创建远程引用时递增计数 为了避免对象的垃圾收集,根据计数被清除强引用,为了减少远程引用被删除的计数,设置强引用以响应计数大于第一阈值 小于第二阈值以允许对象的垃圾收集,以及基于通过弱引用对对象的收集的识别来移除结构和相关资源。

    COMPUTER OPERATION CONTROL METHOD, PROGRAM, AND SYSTEM
    10.
    发明申请
    COMPUTER OPERATION CONTROL METHOD, PROGRAM, AND SYSTEM 有权
    计算机操作控制方法,程序和系统

    公开(公告)号:US20120324206A1

    公开(公告)日:2012-12-20

    申请号:US13594005

    申请日:2012-08-24

    IPC分类号: G06F9/30

    CPC分类号: G06F9/52

    摘要: A computer implemented control method, article of manufacture, and computer implemented system for determining whether stack allocation is possible. The method includes: allocating an object created by a method frame to a stack. The allocation is performed in response to: calling a first and second instruction in the method frame; the first instruction causes an escape of the object, and the second instruction cancels the escape of the object; the object does not escape to a thread other than a thread to which the object has escaped, at the point in time when the escape is cancelled; the first instruction has been called before the second instruction is called; and the object does not escape in accordance with an instruction other than the first instruction in the method frame, regardless of whether the object escapes in accordance with the first instruction.

    摘要翻译: 计算机实现的控制方法,制品和计算机实现的系统,用于确定堆栈分配是否可能。 该方法包括:将由方法框创建的对象分配给堆栈。 响应于在方法帧中调用第一和第二指令来执行分配; 第一条指令导致对象的转义,第二条指令取消对象的转义; 该对象不会转义到除了该对象已经转义的线程之外的线程,在逃脱被取消的时间点; 在第二条指令被调用之前,第一条指令被调用; 并且该对象不依照方法框架中的第一指令之外的指令转义,而不管该对象是否按照第一条指令进行转义。