Compiler, dynamic compiler, and replay compiler
    51.
    发明申请
    Compiler, dynamic compiler, and replay compiler 失效
    编译器,动态编译器和重播编译器

    公开(公告)号:US20050177821A1

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

    申请号:US11042722

    申请日:2005-01-25

    IPC分类号: G06F11/28 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.

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

    Method and apparatus for managing locks of objects and method and apparatus for unlocking objects
    52.
    发明授权
    Method and apparatus for managing locks of objects and method and apparatus for unlocking objects 失效
    用于管理物体锁的方法和装置以及用于解锁物体的方法和装置

    公开(公告)号:US06883026B1

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

    申请号:US09378549

    申请日:1999-08-20

    CPC分类号: G06F9/52 Y10S707/99938

    摘要: A hybrid locking method for preventing a reduction in the processing speed of a frequently executed path which includes locking, accessing and unlocking an object is provided. According to the present invention, at least one contention bit is introduced. The contention bit, which is prepared separately from a lock field, is set when a contention occurs in a light-weight lock, and is cleared when a light-weight lock is shifted to a heavy-weight lock (“inflate” function). Specifically, if a lock of an object is managed by storing a bit representing a type of said lock, and an identifier of a thread having acquired a lock in accordance with a first type of lock or an identifier of a second type of lock into a storage area corresponding to the object, in a state where a plurality of threads exist, following steps are executed: if a first thread attempts to acquire a lock of an object that has been acquired by a second thread, determining whether the bit representing the type of the lock of the object represents the first type of lock; and if the bit represents the first type of lock, setting a contention bit.

    摘要翻译: 提供一种用于防止包括锁定,访问和解锁对象的频繁执行路径的处理速度降低的混合锁定方法。 根据本发明,引入了至少一个争用比特。 在轻量级锁定中发生争用时,设置与锁定场分开准备的争用位,并且当轻量级锁定被移动到重型锁定(“充气”功能)时被清除。 具体地,如果通过将表示所述锁的类型的位和根据第一类型的锁定获得锁的线程的标识符或第二类锁定的标识符存储到对象的锁定中来管理对象的锁定, 在存在多个线程的状态下,执行以下步骤:如果第一线程尝试获取已被第二线程获取的对象的锁定,则确定该表示该类型的比特的比特 对象的锁代表第一种类型的锁; 并且如果该位表示第一种类型的锁定,则设置争用位。

    Invoking a method in an object-oriented computer program
    53.
    发明授权
    Invoking a method in an object-oriented computer program 失效
    在面向对象的计算机程序中调用方法

    公开(公告)号:US5987529A

    公开(公告)日:1999-11-16

    申请号:US832655

    申请日:1997-04-04

    IPC分类号: G06F9/44 G06F9/42 G06F13/00

    CPC分类号: G06F9/443

    摘要: Message sending can be performed quickly making efficient use of memory space. A class object C is obtained (110) from a specified receiver object. The class object C contains an instance variable pointing to a dispatch table for the class to obtain (120) a dispatch table D. From the code which is an argument of a vmicall instruction, a method M of the address stored in the entry of the code in the dispatch table is retrieved (130). The card which is the other argument of the vmicall instruction is compared (140) with the card number stored in the method M retrieved in step 130. If the card and the card number are not identical, the selector mismatch handler is invoked to locate the correct method to be invoked (150). Then, the method M is invoked (160). In the selector mismatch handler, it is determined whether the dispatch table D for the class C is the default one, and if it is the default dispatch table, the dispatch table for the class C is allocated. Then, the method corresponding to the class C and the card which is the argument of the selector mismatch handler is located, a new code is assigned to the selector of that method, and the address of the method M is stored in the entry of the newcode in the previously prepared dispatch table D. Finally, the method M is returned.

    摘要翻译: 可快速执行消息发送,有效利用内存空间。 从指定的接收者对象获得(110)类对象C. 类对象C包含指向类的调度表的实例变量,以获得(120)调度表D.从作为vmicall指令的参数的代码中,存储在 检索出调度表中的代码(130)。 将与vmicall指令的另一个参数相对应的卡被比较(140)与在步骤130中检索的方法M中存储的卡号。如果卡和卡号不相同,则调用选择器不匹配处理程序以定位 正确的方法被调用(150)。 然后,调用方法M(160)。 在选择器不匹配处理程序中,确定类C的调度表D是否是默认调度表D,如果它是默认调度表,则分配类C的调度表。 然后,对应于类C和作为选择器不匹配处理器的参数的卡的方法被定位,将新代码分配给该方法的选择器,并且方法M的地址被存储在 在先前准备的调度表D中的新代码。最后,返回方法M.

    Compiler and method of compilation
    54.
    发明授权
    Compiler and method of compilation 失效
    编译器和编译方法

    公开(公告)号:US5560015A

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

    申请号:US454446

    申请日:1995-05-30

    申请人: Tamiya Onodera

    发明人: Tamiya Onodera

    IPC分类号: G06F9/45 G06F9/06

    CPC分类号: G06F8/423

    摘要: A method and program for compiling a source program composed by using one or more program modules. Each program module consists of a first part which defines specifications and a second part which performs functions. The compilation method comprises the steps of:(1) detecting an encounter with a stage using a program module while a source program is analyzed by a compiler object;(2) interrupting the compiler object in operation in response to said detection;(3) searching automatically for said first part of said program module in response to said detection;(4) compiling said first part of said program module thus searched out automatically by a new compiler object; and(5) resuming said compilation by said interrupted compiler object after compilation of said first part of said program module.

    摘要翻译: 一种用于编译通过使用一个或多个程序模块组成的源程序的方法和程序。 每个程序模块由定义规范的第一部分和执行功能的第二部分组成。 该编译方法包括以下步骤:(1)通过编译对象分析源程序时,使用程序模块检测与阶段的相遇; (2)响应于所述检测中断编译对象的操作; (3)响应于所述检测自动搜索所述程序模块的所述第一部分; (4)通过新的编译对象自动编译所述程序模块的所述第一部分; 以及(5)在编译所述程序模块的所述第一部分之后,由所述中断的编译器对象恢复所述编译。