Determining destinations of a dynamic branch
    1.
    发明申请
    Determining destinations of a dynamic branch 审中-公开
    确定动态分支的目的地

    公开(公告)号:US20080288915A1

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

    申请号:US10625406

    申请日:2003-07-23

    IPC分类号: G06F9/44

    摘要: A method, a translator, and a computer-readable medium for translating compiled programming code from a first code state to a second code state are disclosed. The programming code in the first state has a plurality of basic blocks, where each basic block has a set of instructions. At least one basic block ends in a dynamic branch, the dynamic branch being a transfer to one of a set of destinations based on a calculation of a destination address. The plurality of basic blocks in the first state of the programming code are identified, as are links between the identified basic blocks. A control flow graph (CFG) of the programming code is then constructed based on the identified basic blocks and identified links, where the CFG is in a preliminary form. At least one basic block ending in a dynamic branch is identified, and all identified basic blocks that lead to the dynamic branch are explored, based on the CFG, as far back as is necessary to fully determine a set of destination addresses for the dynamic branch. The set of destination addresses defines the set of destinations from the dynamic branch. Such set of destinations is examined to identify a branch table, and the CFG is updated to reflect the set of destinations and the identified branch table. The programming code is then translated from the first state to the second state based at least in part on the updated CFG.

    摘要翻译: 公开了一种用于将编译的编程代码从第一代码状态转换到第二代码状态的方法,转换器和计算机可读介质。 第一状态下的编程代码具有多个基本块,其中每个基本块具有一组指令。 至少一个基本块在动态分支中结束,动态分支是基于目的地地址的计算而转移到一组目的地中的一个。 识别编程代码的第一状态中的多个基本块,以及所识别的基本块之间的链接。 然后基于所识别的基本块和识别的链路构建编程代码的控制流程图(CFG),其中CFG处于初步形式。 识别到动态分支结束的至少一个基本块,并且基于CFG探索导致动态分支的所有识别的基本块,这远远超出完全确定动态分支的一组目的地地址所必需的 。 目标地址集定义了动态分支的目的地集合。 检查这样的目的地集合以识别分支表,并且更新CFG以反映目的地集合和所识别的分支表。 至少部分地基于更新的CFG,将编程代码从第一状态转换到第二状态。

    Determining destinations of a dynamic branch
    2.
    发明授权
    Determining destinations of a dynamic branch 有权
    确定动态分支的目的地

    公开(公告)号:US06662354B1

    公开(公告)日:2003-12-09

    申请号:US09239282

    申请日:1999-01-29

    IPC分类号: G06F945

    摘要: A method, a translator, and a computer-readable medium for translating compiled programming code from a first code state to a second code state are disclosed. The programming code in the first state has a plurality of basic blocks, where each basic block has a set of instructions. At least one basic block ends in a dynamic branch, the dynamic branch being a transfer to one of a set of destinations based on a calculation of a destination address. The plurality of basic blocks in the first state of the programming code are identified, as are links between the identified basic blocks. A control flow graph (CFG) of the programming code is then constructed based on the identified basic blocks and identified links, where the CFG is in a preliminary form. At least one basic block ending in a dynamic branch is identified, and all identified basic blocks that lead to the dynamic branch are explored, based on the CFG, as far back as is necessary to fully determine a set of destination addresses for the dynamic branch. The set of destination addresses defines the set of destinations from the dynamic branch. Such set of destinations is examined to identify a branch table, and the CFG is updated to reflect the set of destinations and the identified branch table. The programming code is then translated from the first state to the second state based at least in part on the updated CFG.

    摘要翻译: 公开了一种用于将编译的编程代码从第一代码状态转换到第二代码状态的方法,转换器和计算机可读介质。 第一状态下的编程代码具有多个基本块,其中每个基本块具有一组指令。 至少一个基本块在动态分支中结束,动态分支是基于目的地地址的计算而转移到一组目的地中的一个。 识别编程代码的第一状态中的多个基本块,以及所识别的基本块之间的链接。 然后基于所识别的基本块和识别的链路构建编程代码的控制流程图(CFG),其中CFG处于初步形式。 识别到动态分支结束的至少一个基本块,并且基于CFG探索导致动态分支的所有识别的基本块,这远远超出完全确定动态分支的一组目的地地址所必需的 。 目标地址集定义了动态分支的目的地集合。 检查这样的目的地集合以识别分支表,并且更新CFG以反映目的地集合和所识别的分支表。 至少部分地基于更新的CFG,将编程代码从第一状态转换到第二状态。

    Methods and apparatus for exchanging active messages in a parallel
processing computer system
    3.
    发明授权
    Methods and apparatus for exchanging active messages in a parallel processing computer system 失效
    在并行处理计算机系统中交换活动消息的方法和装置

    公开(公告)号:US5710923A

    公开(公告)日:1998-01-20

    申请号:US428684

    申请日:1995-04-25

    IPC分类号: G06F9/46 G06F9/30

    CPC分类号: G06F9/546

    摘要: A method for communicating active messages among nodes of a parallel processing computer system is disclosed. The active messages are defined by .mu.threads, and the method comprises the steps of: (a) generating a .mu.thread comprising an instruction pointer, frame pointer, and Local Parameters pointer from a first node to a second node; and (b) performing a procedure on a data structure in accordance with the .mu.thread. The instruction pointer points to an application specific procedure in system memory, and the frame pointer points to an application specific data structure in system memory. The Local Parameters pointer points to one or more words of additional data or parameters stored in memory mapped device registers or system memory.

    摘要翻译: 公开了一种用于在并行处理计算机系统的节点之间传送活动消息的方法。 活动消息由mu线程定义,该方法包括以下步骤:(a)从第一节点到第二节点生成包括指令指针,帧指针和本地参数指针的mu线程; 和(b)根据mu线程对数据结构执行一个过程。 指令指针指向系统存储器中的应用程序特定过程,并且帧指针指向系统存储器中的应用程序特定数据结构。 本地参数指针指向存储在存储器映射设备寄存器或系统存储器中的附加数据或参数的一个或多个字。