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

    METHOD FOR ENHANCING EFFICIENCY IN MUTUAL EXCLUSION
    13.
    发明申请
    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.

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

    Method and system for code generation and inlining
    14.
    发明授权
    Method and system for code generation and inlining 有权
    代码生成和内联的方法和系统

    公开(公告)号:US09235394B2

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

    申请号:US13221171

    申请日:2011-08-30

    IPC分类号: G06F9/45 G06F9/455

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

    Computer operation control method, program and system
    15.
    发明授权
    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 system, memory management method, storage medium and program transmission apparatus
    17.
    发明授权
    Computer system, memory management method, storage medium and program transmission apparatus 失效
    计算机系统,存储器管理方法,存储介质和程序传输装置

    公开(公告)号:US06971102B2

    公开(公告)日:2005-11-29

    申请号:US09803168

    申请日:2001-03-09

    摘要: The present invention provides a technique for skipping a locking process for an object in memory when a thread accesses an object that only it will access in order to reduce the load imposed on a system and to improve the overall system performance. A program executing in a computer system has multiple threads that share and access objects stored in memory. The objects have thread locality flags associated therewith that indicate the presence or absence of thread localities. The threads examine the thread locality flags for the objects they attempt to access to determine whether the corresponding objects, which are to be accessed, have localities for the threads. If, so the, threads skip the locking process and access objects immediately. If not, the object is locked prior to being accessed.

    摘要翻译: 本发明提供了一种当线程访问只有它访问的对象以便减少对系统施加的负载并提高整个系统性能时,用于跳过存储器中的对象的锁定过程的技术。 在计算机系统中执行的程序具有共享和访问存储在存储器中的对象的多个线程。 对象具有与其相关联的线程位置标志,其指示线程地点的存在或不存在。 线程检查他们尝试访问的对象的线程位置标志,以确定要访问的对应对象是否具有线程的位置。 如果,那么线程会跳过锁定进程并立即访问对象。 如果没有,对象在被访问之前被锁定。

    Garbage collection of an object
    18.
    发明授权
    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
    19.
    发明申请
    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
    20.
    发明申请
    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.

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