Computer operation control method, program and system
    1.
    发明授权
    Computer operation control method, program and system 有权
    计算机操作控制方法,程序和系统

    公开(公告)号:US08918622B2

    公开(公告)日:2014-12-23

    申请号:US13347905

    申请日:2012-01-11

    IPC分类号: G06F9/312 G06F9/52

    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.

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

    COMPUTER OPERATION CONTROL METHOD, PROGRAM, AND SYSTEM
    2.
    发明申请
    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.

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

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

    公开(公告)号:US20120191947A1

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

    申请号:US13347905

    申请日:2012-01-11

    IPC分类号: G06F9/312

    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.

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

    Computer operation control method, program, and system
    4.
    发明授权
    Computer operation control method, program, and system 有权
    计算机操作控制方法,程序和系统

    公开(公告)号:US08930677B2

    公开(公告)日:2015-01-06

    申请号:US13594005

    申请日:2012-08-24

    IPC分类号: G06F9/312 G06F9/52

    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.

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

    Profiler for executing computer program
    5.
    发明授权
    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
    6.
    发明申请
    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.

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

    METHOD AND SYSTEM FOR CODE GENERATION AND INLINING
    8.
    发明申请
    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代码调用的参数和参数的运行时类型的经常出现的组合的专门方法; 并且如果专门的方法具有允许范围内的身体尺寸,则将专门方法的身体内联到呼叫站点。

    SYSTEM FOR STORING AND MANAGING OBJECTS
    9.
    发明申请
    SYSTEM FOR STORING AND MANAGING OBJECTS 有权
    用于存储和管理对象的系统

    公开(公告)号:US20090070740A1

    公开(公告)日:2009-03-12

    申请号:US12192766

    申请日:2008-08-15

    IPC分类号: G06F9/44

    CPC分类号: G06F12/0276 G06F9/4488

    摘要: A system of the present invention includes a storage device for distinguishably storing old objects that are objects having existed for not less than a predetermined period since being generated and new objects that are objects having existed for less than the predetermined period since being generated. Then, a new object that has existed for less than the predetermined period since being generated is selected from the storage device, and an old object having the same content as the selected new object is searched for. If such an old object is not found, the selected new object is newly stored as an old object in the storage device. If the old object is found, a reference to the selected new object is integrated with a reference to the found old object. If the old object is stored, the reference to the selected new object is changed to a reference to the stored old object.

    摘要翻译: 本发明的系统包括:存储装置,用于可分辨地存储作为生成后不少于预定时间段的对象的旧对象,以及作为生成后已经存在小于预定时间段的对象的新对象。 然后,从存储装置中选择已经存在小于预定时间的新对象,并且搜索与所选择的新对象具有相同内容的旧对象。 如果没有找到这样的旧对象,则所选择的新对象被新存储为存储设备中的旧对象。 如果找到旧对象,则对所选新对象的引用与对所找到的旧对象的引用进行集成。 如果旧对象被存储,则对所选新对象的引用被更改为对存储的旧对象的引用。

    METHOD FOR ENHANCING EFFICIENCY IN MUTUAL EXCLUSION
    10.
    发明申请
    METHOD FOR ENHANCING EFFICIENCY IN MUTUAL EXCLUSION 失效
    在互补排除中提高效率的方法

    公开(公告)号:US20080104595A1

    公开(公告)日:2008-05-01

    申请号:US11873777

    申请日:2007-10-17

    IPC分类号: G06F9/46

    摘要: A system of the present invention includes: a memory device which includes a first memory area for storing first information indicating that a first task acquires or attempts to acquire a lock, and a second memory area for storing second information indicating that a second task acquires or attempts to acquire the lock, and in which a time lag may occur between a time when the first task issues a writing instruction and a time when the written content is enabled to be referred to by the second task; a first acquisition section which reads the second memory area after issuing a writing instruction to write the first information to the first memory area in response to a request from the first task, and which makes a reply indicating a success of the lock acquisition on condition that the second information is not read; and a second acquisition section which writes the second information to the second memory area in response to a request from the second task, which enables the written content to be referred to by the first task, which thereafter executes a write-reflection process for enabling the content written in the first memory area by the first task to be referred to by the second task, which reads the first memory area after completion of the write-reflection process, and which makes a reply indicating a success of the lock acquisition on condition that the first information is not read from the first memory area.

    摘要翻译: 本发明的系统包括:存储装置,包括:第一存储区,用于存储指示第一任务获取或尝试获取锁的第一信息;以及第二存储区,用于存储指示第二任务获取的第二信息; 尝试获取锁定,并且其中在第一任务发出写入指令的时间与能够被第二个任务引用的写入内容的时间之间可能发生时滞; 第一获取部分,响应于来自第一任务的请求,在发出写入指令以写入第一信息到第一存储器区域之后读取第二存储器区域,并且响应于指示锁定获取成功的回复,条件是 第二个信息不读; 以及第二获取部分,其响应于来自所述第二任务的请求将所述第二信息写入所述第二存储区域,所述第二任务使得能够由所述第一任务引用所述写入内容,所述第一任务执行写入反射处理以使得能够 通过由第二任务引用的第一任务写入第一存储器区域的内容,其在完成写入反射处理之后读取第一存储区域,并且作出响应,指示锁定获取的成功,条件是 第一信息不从第一存储区读取。