Method and apparatus for instruction re-alignment using a branch on a falsehood of a qualifying predicate
    1.
    发明授权
    Method and apparatus for instruction re-alignment using a branch on a falsehood of a qualifying predicate 失效
    使用分支对合格谓词的虚假进行指令重新对齐的方法和装置

    公开(公告)号:US06631465B1

    公开(公告)日:2003-10-07

    申请号:US09607684

    申请日:2000-06-30

    IPC分类号: G06F938

    CPC分类号: G06F9/30058 G06F9/30072

    摘要: A method and apparatus that provides instruction re-alignment using a branch on a falsehood of a qualifying predicate. A complementary predicate related to a qualifying predicate is determined to be available. Instructions are re-aligned using a branch on a falsehood of the qualifying predicate if the complementary predicate is not available. Thus, a complementary predicate does not have to be generated to re-align instructions if no complementary predicate is available for the qualifying predicate.

    摘要翻译: 一种方法和装置,其使用分支对限定谓词的虚假提供指令重新对齐。 与限定性谓词相关的互补谓词被确定为可用。 如果互补谓词不可用,则使用分支对限定谓词的虚假重新对齐指令。 因此,如果没有互补谓词可用于限定性谓词,则不必生成互补谓词以重新对齐指令。

    Optimization of initialization of parallel compare predicates in a computer system
    2.
    发明授权
    Optimization of initialization of parallel compare predicates in a computer system 失效
    计算机系统中并行比较谓词的初始化优化

    公开(公告)号:US06505345B1

    公开(公告)日:2003-01-07

    申请号:US09483879

    申请日:2000-01-18

    IPC分类号: G06F945

    CPC分类号: G06F8/4451 G06F9/30072

    摘要: An optimization process is disclosed. The process first finds a parallel compare sequence in a program flow, for example using a flow graph. The guarding predicate (gp) is obtained for the compares. If a new dominating predicate (dp) can be found, the process proceeds to determining if compares for the dp generate the correct or needed initial value for the gp. If there are free result slots available, the proper compares are generated and folded into the initialization. If no free slots are available, it is determined if there is a use of a gp between the dp and gp. If not, the dp is renamed to gp, and the proper compares are generated and folded into the initialization. If there is such a use, the guarding predicate of the compares is found and the process reiterates until it ends with the failure to find a new dominating predicate dp.

    摘要翻译: 公开了优化过程。 该过程首先在程序流中找到并行比较序列,例如使用流程图。 获得比较的守卫谓词(gp)。 如果可以找到新的主导谓词(dp),则该过程继续确定dp的比较是否为gp生成正确或所需的初始值。 如果有可用的空闲结果槽,则会生成适当的比较并将其折叠到初始化中。 如果没有空闲插槽可用,则确定是否在dp和gp之间使用gp。 如果没有,则将dp重命名为gp,并且生成适当的比较并折叠到初始化中。 如果有这样的用法,则找到比较的守护谓词,并重新进行该过程,直到找不到新的主导谓词dp为止。

    DYNAMIC TRANSLATOR FOR REQUESTS FOR SYSTEM RESOURCES
    3.
    发明申请
    DYNAMIC TRANSLATOR FOR REQUESTS FOR SYSTEM RESOURCES 有权
    用于系统资源要求的动态翻译器

    公开(公告)号:US20100169308A1

    公开(公告)日:2010-07-01

    申请号:US12345810

    申请日:2008-12-30

    IPC分类号: G06F7/06 G06F17/30

    CPC分类号: G06F17/30893

    摘要: Techniques for selectively translating resource requests from a program running on a computer system are disclosed. The resource request may be a request to access a file, library file, API, etc. The resource request may be a system call or library call. The computer program may be non-native to the computer system. Translation of resource requests may occur within the operating system or outside it. A resource request containing a reference to a first path and file name may be selectively translated by altering the resource request to contain a reference to a second path and file name. After selectively translating a request, he request is caused to be serviced. A resource request may be serviced by forwarding it to an operating system, and a result may be sent back to the program.

    摘要翻译: 公开了用于从计算机系统上运行的程序选择性地翻译资源请求的技术。 资源请求可以是访问文件,库文件,API等的请求。资源请求可以是系统调用或库调用。 该计算机程序可能是非本机的计算机系统。 资源请求的翻译可能发生在操作系统内或其外部。 可以通过改变资源请求来包含对第二路径和文件名的引用来选择性地转换包含对第一路径和文件名的引用的资源请求。 在选择性地翻译请求之后,他请求被提供服务。 可以通过将资源请求转发到操作系统来服务资源请求,并且可以将结果发送回该程序。

    SAMPLING BASED RUNTIME OPTIMIZER FOR EFFICIENT DEBUGGING OF APPLICATIONS
    4.
    发明申请
    SAMPLING BASED RUNTIME OPTIMIZER FOR EFFICIENT DEBUGGING OF APPLICATIONS 有权
    基于采样的运行时优化器进行有效的调试

    公开(公告)号:US20090138859A1

    公开(公告)日:2009-05-28

    申请号:US11945989

    申请日:2007-11-27

    IPC分类号: G06F9/44 G06F9/45

    摘要: A method of reproducing runtime environment for debugging an application is disclosed. The method includes reading an optimizer file from a non-volatile storage medium. The optimizer file includes a runtime environment, application definition information, and a log. The log includes summaries of a plurality of events, the plurality of actions, and a time mark of occurrence for each of the plurality of actions. A runtime environment for debugging the application is then defined and the application runtime is set up using the application definition information in the optimizer file. Further, the method includes running the application and attaching an optimizer, then triggering each of the plurality of actions to occur at each time mark of occurrence associated with the each of the plurality of actions, and analyzing each of the plurality of actions and the plurality of events associated with the each of the plurality of actions, the analyzing includes comparing the events produced by running the application with the plurality of events in the optimizer file. If a fault is produced by the triggering, a debugger is invoked to analyze the fault.

    摘要翻译: 公开了一种再现用于调试应用的运行时环境的方法。 该方法包括从非易失性存储介质读取优化器文件。 优化程序文件包括运行时环境,应用程序定义信息和日志。 日志包括多个事件的摘要,多个动作以及多个动作中的每个动作的发生时间标记。 然后定义用于调试应用程序的运行时环境,并使用优化程序文件中的应用程序定义信息设置应用程序运行时间。 此外,该方法包括运行应用程序并附加优化器,然后触发多个动作中的每一个发生在与多个动作中的每一个相关联的发生的每个时间标记处,并且分析多个动作和多个动作中的每个动作 与所述多个动作中的每一个相关联的事件,所述分析包括将通过运行应用程序产生的事件与所述优化器文件中的所述多个事件进行比较。 如果触发产生故障,则调用调试器来分析故障。

    Sampling based runtime optimizer for efficient debugging of applications
    5.
    发明授权
    Sampling based runtime optimizer for efficient debugging of applications 有权
    基于采样的运行时优化器,用于应用程序的高效调试

    公开(公告)号:US08627302B2

    公开(公告)日:2014-01-07

    申请号:US11945989

    申请日:2007-11-27

    IPC分类号: G06F9/44 G06F9/45

    摘要: A method of reproducing runtime environment for debugging an application includes reading an optimizer file from a non-volatile storage medium. The optimizer file includes a runtime environment, application definition information, and a log. The log includes summaries of events, actions, and a time mark of occurrence for each of the actions. A runtime environment for debugging the application is then defined and the application runtime is set up using the application definition information in the optimizer file. Further, the method includes running the application, attaching an optimizer, and triggering each of the actions to occur at a time mark of occurrence associated with each of the actions. Then, each of the actions and associated events is analyzed by comparing the events produced by running the application with the events in the optimizer file. If a fault is produced by the triggering, a debugger is invoked to analyze the fault.

    摘要翻译: 再现用于调试应用的运行时环境的方法包括从非易失性存储介质读取优化器文件。 优化程序文件包括运行时环境,应用程序定义信息和日志。 日志包括每个操作的事件,操作和发生时间标记的摘要。 然后定义用于调试应用程序的运行时环境,并使用优化程序文件中的应用程序定义信息设置应用程序运行时间。 此外,该方法包括运行应用程序,附加优化器以及触发在与每个动作相关联的发生的时间标记处发生的每个动作。 然后,通过将运行应用程序生成的事件与优化程序文件中的事件进行比较来分析每个操作和关联事件。 如果触发产生故障,则调用调试器来分析故障。

    HANDLING SIGNALS AND EXCEPTIONS IN A DYNAMIC TRANSLATION ENVIRONMENT
    6.
    发明申请
    HANDLING SIGNALS AND EXCEPTIONS IN A DYNAMIC TRANSLATION ENVIRONMENT 有权
    在动态翻译环境中处理信号和异常

    公开(公告)号:US20100115497A1

    公开(公告)日:2010-05-06

    申请号:US12264943

    申请日:2008-11-05

    IPC分类号: G06F9/44

    CPC分类号: G06F8/52

    摘要: A method for executing non-native binaries on a host computer architecture comprises receiving the guest executable binary into a computer readable medium. The guest executable binary is executed on the host computer architecture by translating the guest executable binary into a translated executable binary. Each instruction of the translated executed binary is then executed on the host computer architecture. Signals are responded to by placing signal information on a signal queue and deferring signal handling until a safe point is reached. A computer system implementing the method is also provided.

    摘要翻译: 用于在主机计算机体系结构上执行非本地二进制文件的方法包括:将客户可执行二进制文件接收到计算机可读介质中。 通过将客户机可执行二进制文件翻译成可翻译的可执行二进制文件,在主计算机体系结构上执行访客执行二进制文件。 然后,在主机结构上执行所翻译的执行二进制文件的每个指令。 通过将信号信息放置在信号队列上并延迟信号处理直到达到安全点来响应信号。 还提供了实现该方法的计算机系统。

    TESTING AND DEBUGGING OF DYNAMIC BINARY TRANSLATION
    7.
    发明申请
    TESTING AND DEBUGGING OF DYNAMIC BINARY TRANSLATION 有权
    动态二进制翻译的测试与调试

    公开(公告)号:US20090089758A1

    公开(公告)日:2009-04-02

    申请号:US11865024

    申请日:2007-09-30

    IPC分类号: G06F9/44

    摘要: A method for testing and debugging of dynamic binary translation wherein a dynamic binary translator allows a target binary to be executed transparently on a host machine having a different computer architecture than the target machine involves selecting a minimum set of target machine states for simulation at run-time. A series of target machine instructions from the target binary is translated into a series of host machine instructions. During translation, a plurality of check points are inserted into the series of host machine instructions. During translation, a plurality of verification points are inserted into the series of host machine instructions. The series of host machine instructions, including the check points and verification points, are executed. Execution of a check point determines a simulated target machine state. Execution of a verification point sends information pertaining to simulated target machine states to an external verifier.

    摘要翻译: 一种用于动态二进制转换的测试和调试的方法,其中动态二进制转换器允许在具有与目标机器不同的计算机体系结构的主机上透明地执行目标二进制程序,包括在运行时选择最小的目标机器状态集合用于模拟, 时间。 来自目标二进制文件的一系列目标机器指令被转换成一系列主机指令。 在翻译期间,将多个检查点插入到一系列主机指令中。 在翻译期间,将多个验证点插入到主机指令系列中。 执行一系列主机指令,包括检查点和验证点。 检查点的执行确定模拟的目标机器状态。 验证点的执行将有关模拟目标机器状态的信息发送到外部验证器。

    Compiler optimization through combining of memory operations
    8.
    发明授权
    Compiler optimization through combining of memory operations 有权
    通过组合内存操作编译器优化

    公开(公告)号:US06351849B1

    公开(公告)日:2002-02-26

    申请号:US09316826

    申请日:1999-05-21

    申请人: William Y. Chen

    发明人: William Y. Chen

    IPC分类号: G06F945

    CPC分类号: G06F8/443

    摘要: A method for compiling comprising receiving a source program having a number of memory operation blocks that are mutually exclusive. Each of the memory operation blocks have a memory operation, such that the memory operation in each block is associated with a different memory address. Additionally, an executable program is generated based on the source program. The executable program includes an executable program section for each memory operation block of the source program such that each executable program section utilizes a same number of registers for each memory operation within each memory operation block.

    摘要翻译: 一种用于编译的方法,包括接收具有相互排斥的多个存储器操作块的源程序。 每个存储器操作块具有存储器操作,使得每个块中的存储器操作与不同的存储器地址相关联。 另外,基于源程序生成可执行程序。 可执行程序包括用于源程序的每个存储器操作块的可执行程序段,使得每个可执行程序段对每个存储器操作块内的每个存储器操作使用相同数量的寄存器。

    Dynamic translator for requests for system resources
    9.
    发明授权
    Dynamic translator for requests for system resources 有权
    用于系统资源请求的动态翻译器

    公开(公告)号:US08521760B2

    公开(公告)日:2013-08-27

    申请号:US12345810

    申请日:2008-12-30

    IPC分类号: G06F7/00 G06F17/30

    CPC分类号: G06F17/30893

    摘要: Techniques for selectively translating resource requests from a program running on a computer system are disclosed. The resource request may be a request to access a file, library file, API, etc. The resource request may be a system call or library call. The computer program may be non-native to the computer system. Translation of resource requests may occur within the operating system or outside it. A resource request containing a reference to a first path and file name may be selectively translated by altering the resource request to contain a reference to a second path and file name. After selectively translating a request, he request is caused to be serviced. A resource request may be serviced by forwarding it to an operating system, and a result may be sent back to the program.

    摘要翻译: 公开了用于从计算机系统上运行的程序选择性地翻译资源请求的技术。 资源请求可以是访问文件,库文件,API等的请求。资源请求可以是系统调用或库调用。 该计算机程序可能是非本机的计算机系统。 资源请求的翻译可能发生在操作系统内或其外部。 可以通过改变资源请求来包含对第二路径和文件名的引用来选择性地转换包含对第一路径和文件名的引用的资源请求。 在选择性地翻译请求之后,他请求被提供服务。 可以通过将资源请求转发到操作系统来服务资源请求,并且可以将结果发送回该程序。

    SUPPORT FOR A NON-NATIVE APPLICATION
    10.
    发明申请
    SUPPORT FOR A NON-NATIVE APPLICATION 有权
    支持非本地应用程序

    公开(公告)号:US20100274551A1

    公开(公告)日:2010-10-28

    申请号:US12429399

    申请日:2009-04-24

    IPC分类号: G06F9/455

    摘要: Aspects of the invention are directed to a systems and methods for operating a non-native binary in dynamic binary translation environment. In accordance with an embodiment, there is provided a computer program product in a computer readable medium. The product includes program code for receiving a non-native binary in a computer readable medium and program code for translating the non-native binary. Additionally, the product includes program code for executing the translated non-native binary, the non-native binary including one or more threads, and program code for pausing execution of the translated non-native binary. The product also includes program code for providing guest instruction boundary information to a monitoring process and program code for analyzing a state of each thread of the translated non-native binary. Moreover, the product includes program code for fast-forwarding at least one thread so that its state is consistent with the guest instruction boundary

    摘要翻译: 本发明的方面涉及用于在动态二进制翻译环境中操作非本地二进制文件的系统和方法。 根据实施例,提供了一种计算机可读介质中的计算机程序产品。 该产品包括用于在计算机可读介质中接收非本地二进制文件的程序代码和用于转换非本地二进制文件的程序代码。 此外,该产品包括用于执行所翻译的非本地二进制文件的程序代码,包括一个或多个线程的非本地二进制文件以及用于暂停执行所翻译的非本地二进制文件的程序代码。 该产品还包括用于向监视过程提供访客指令边界信息的程序代码和用于分析翻译的非本地二进制文件的每个线程的状态的程序代码。 此外,该产品包括用于快速转发至少一个线程的程序代码,使得其状态与访客指令边界一致