Platform independent double compare and swap operation
    1.
    发明授权
    Platform independent double compare and swap operation 失效
    平台独立的双重比较和互换操作

    公开(公告)号:US06223335B1

    公开(公告)日:2001-04-24

    申请号:US09207940

    申请日:1998-12-09

    IPC分类号: G06F945

    CPC分类号: G06F8/31 G06F9/4488

    摘要: A system for providing a double compare and swap operation is disclosed. In the disclosed system, a first single compare and swap operation is performed. If a contents of a first variable is equal to an old value for the first variable, then the first compare and swap operation writes a value to the first variable indicating that the variable is not accessible and indicates success. A second single compare and swap operation is executed in the event that the first single compare and swap operation indicates success. If a contents of a second variable is equal to an old value for the second variable, then the second single compare and swap operation writes a new value for the second variable into the second variable and indicates success. If the second single compare and swap operation indicates success, a new value for the first variable is written to the first variable. Reads and writes on the first variable are prevented while the first variable contains the value indicating that the variable is inaccessible. The disclosed double compare and swap operation writes the old value for the first variable into the first variable if the second single compare and swap operation fails.

    摘要翻译: 公开了一种用于提供双重比较和交换操作的系统。 在所公开的系统中,执行第一单个比较和交换操作。 如果第一个变量的内容等于第一个变量的旧值,则第一个比较和交换操作将一个值写入第一个变量,指示该变量不可访问并指示成功。 在第一次单次比较和交换操作指示成功的情况下,执行第二次单次比较和交换操作。 如果第二个变量的内容等于第二个变量的旧值,则第二个单一的比较和交换操作会将第二个变量的新值写入第二个变量,并指示成功。 如果第二次单次比较和交换操作指示成功,则将第一个变量的新值写入第一个变量。 第一个变量的读取和写入被阻止,而第一个变量包含指示变量不可访问的值。 如果第二次单次比较和交换操作失败,则披露的双重比较和交换操作将第一个变量的旧值写入第一个变量。

    Encoding machine-specific optimization in generic byte code by using
local variables as pseudo-registers
    2.
    发明授权
    Encoding machine-specific optimization in generic byte code by using local variables as pseudo-registers 失效
    通过使用局部变量作为伪寄存器来编码通用字节码中的机器特定优化

    公开(公告)号:US6075942A

    公开(公告)日:2000-06-13

    申请号:US72308

    申请日:1998-05-04

    IPC分类号: G06F9/45 G06F9/445

    CPC分类号: G06F8/441 G06F8/447 G06F8/52

    摘要: A first computer system (34) compiles a source program into machine code for a register-oriented microprocessor, optimizing the global allocation of microprocessor registers in the process. It then translates the resultant code into generic-machine operand-stack-oriented code. In performing the translation, it generates code that preserves the register-oriented code's microprocessor-register allocation by filling the operand stack from local variables chosen in accordance with a predetermined correspondence between local variables and microprocessor registers. That code also stores the operand stack's contents in accordance with that same correspondence. A second computer system (32), which employs the register-oriented microprocessor, converts the resultant generic machine code into its own machine code in accordance with the same association between local variables to microprocessor registers.

    摘要翻译: 第一计算机系统(34)将源程序编译成用于面向寄存器的微处理器的机器码,优化在该过程中的微处理器寄存器的全局分配。 然后将其结果代码转换为通用机器操作数 - 堆栈导向代码。 在执行翻译时,它通过从根据本地变量和微处理器寄存器之间的预定对应关系选择的局部变量填充操作数堆栈来生成代码,从而保留面向寄存器的代码的微处理器寄存器分配。 该代码还按照相同的对应关系存储操作数堆栈的内容。 使用面向寄存器的微处理器的第二计算机系统(32)根据与微处理器寄存器的局部变量之间的相同关联将所得通用机器代码转换成其自己的机器代码。