Accelerated execution for emulated environments
    1.
    发明授权
    Accelerated execution for emulated environments 失效
    加速执行仿真环境

    公开(公告)号:US08639492B2

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

    申请号:US12869344

    申请日:2010-08-26

    IPC分类号: G06F9/455 G06F9/45

    摘要: The illustrative embodiments provide a computer implemented method, apparatus, and computer program product for accelerating execution of a program, written in an object oriented programming language, in an emulated environment. In response to receiving a request for an accelerated communications session from a guest virtual machine in the emulated environment, a native virtual machine is initiated external to the emulated environment but within the computing device hosting the emulated environment. Thereafter, an accelerated communications link is established between the guest virtual machine and the native virtual machine. The accelerated communications link enables a transfer of managed code between the guest virtual machine and the native virtual machine. The managed code is then executed by the native virtual machine.

    摘要翻译: 说明性实施例提供了一种计算机实现的方法,装置和计算机程序产品,用于在仿真环境中加速以面向对象编程语言编写的程序的执行。 响应于在仿真环境中从来宾虚拟机接收到加速通信会话的请求,本地虚拟机在仿真环境的外部启动,但是在承载仿真环境的计算设备内。 此后,在客户虚拟机和本地虚拟机之间建立加速的通信链路。 加速通信链路使得可以在客户虚拟机和本地虚拟机之间传输托管代码。 托管代码然后由本机虚拟机执行。

    Accelerated Execution for Emulated Environments
    2.
    发明申请
    Accelerated Execution for Emulated Environments 失效
    加速执行仿真环境

    公开(公告)号:US20110054879A1

    公开(公告)日:2011-03-03

    申请号:US12869344

    申请日:2010-08-26

    IPC分类号: G06F9/455

    摘要: The illustrative embodiments provide a computer implemented method, apparatus, and computer program product for accelerating execution of a program, written in an object oriented programming language, in an emulated environment. In response to receiving a request for an accelerated communications session from a guest virtual machine in the emulated environment, a native virtual machine is initiated external to the emulated environment but within the computing device hosting the emulated environment. Thereafter, an accelerated communications link is established between the guest virtual machine and the native virtual machine. The accelerated communications link enables a transfer of managed code between the guest virtual machine and the native virtual machine. The managed code is then executed by the native virtual machine.

    摘要翻译: 说明性实施例提供了一种计算机实现的方法,装置和计算机程序产品,用于在仿真环境中加速以面向对象编程语言编写的程序的执行。 响应于在仿真环境中从来宾虚拟机接收到加速通信会话的请求,本地虚拟机在仿真环境的外部启动,但是在承载仿真环境的计算设备内。 此后,在客户虚拟机和本地虚拟机之间建立加速的通信链路。 加速通信链路使得可以在客户虚拟机和本地虚拟机之间传输托管代码。 托管代码然后由本机虚拟机执行。

    Reusing invalidated traces in a system emulator
    3.
    发明授权
    Reusing invalidated traces in a system emulator 有权
    在系统仿真器中重用无效跟踪

    公开(公告)号:US08364461B2

    公开(公告)日:2013-01-29

    申请号:US12614656

    申请日:2009-11-09

    IPC分类号: G06F9/455

    CPC分类号: G06F9/455 G06F11/34

    摘要: Native code corresponding to an invalidated trace is re-used in a system emulator. A first trace is identified. A dropped second trace is identified. The dropped second trace is associated with a first native code for emulating the second trace. If the identified first trace corresponds to the dropped second trace, the first native code is associated to the first trace, and the first native code is executed. If the identified first trace does not correspond to the dropped second trace, a second native code for emulating the first trace is created, the second native code is associated with the first trace, and the second native code is executed.

    摘要翻译: 对应于无效跟踪的本机代码在系统仿真器中重新使用。 第一个痕迹被识别。 确定了丢弃的第二个跟踪。 丢弃的第二个跟踪与用于模拟第二个跟踪的第一本地代码相关联。 如果所识别的第一个跟踪对应于丢弃的第二个跟踪,则第一本地代码与第一个跟踪关联,并且执行第一本地代码。 如果所识别的第一跟踪不对应于丢弃的第二跟踪,则创建用于模拟第一跟踪的第二本地代码,第二本地代码与第一跟踪相关联,并且执行第二本地代码。

    Branch target buffer for emulation environments
    4.
    发明授权
    Branch target buffer for emulation environments 有权
    用于仿真环境的分支目标缓冲区

    公开(公告)号:US08612731B2

    公开(公告)日:2013-12-17

    申请号:US12614085

    申请日:2009-11-06

    IPC分类号: G06F9/00

    摘要: Branch instructions are managed in an emulation environment that is executing a program. A plurality of entries is populated in a branch target buffer that resides within an emulated environment in which the program is executing. Each of the entries comprises an instruction address and a target address of a branch instruction of the program. When an indirect branch instruction of the program is encountered a processor analyzes one of the entries in the branch target buffer to determine if the instruction address of the one entry is associated with a target address of the indirect branch instruction. If the instruction address of the one entry is associated with the target address of the indirect branch instruction a branch to the target address of the one entry is performed.

    摘要翻译: 分支指令在正在执行程序的仿真环境中进行管理。 多个条目填充在驻留在程序正在执行的仿真环境中的分支目标缓冲器中。 每个条目包括程序的分支指令的指令地址和目标地址。 当遇到程序的间接分支指令时,处理器分析转移目标缓冲器中的一个条目以确定该条目的指令地址是否与间接分支指令的目标地址相关联。 如果一个条目的指令地址与间接分支指令的目标地址相关联,则执行到该条目的目标地址的分支。

    Performing memory accesses while omitting unnecessary address translations
    5.
    发明授权
    Performing memory accesses while omitting unnecessary address translations 有权
    在省略不必要的地址转换时执行内存访问

    公开(公告)号:US08285968B2

    公开(公告)日:2012-10-09

    申请号:US12569004

    申请日:2009-09-29

    IPC分类号: G06F12/10

    摘要: In computing environments that use virtual addresses (or other indirectly usable addresses) to access memory, the virtual addresses are translated to absolute addresses (or other directly usable addresses) prior to accessing memory. To facilitate memory access, however, address translation is omitted in certain circumstances, including when the data to be accessed is within the same unit of memory as the instruction accessing the data. In this case, the absolute address of the data is derived from the absolute address of the instruction, thus avoiding address translation for the data. Further, in some circumstances, access checking for the data is also omitted.

    摘要翻译: 在使用虚拟地址(或其他可间接使用的地址)访问内存的计算环境中,在访问内存之前,将虚拟地址转换为绝对地址(或其他可直接使用的地址)。 然而,为了便于存储器访问,在某些情况下,包括当要访问的数据与访问数据的指令在同一单元内时,省略了地址转换。 在这种情况下,数据的绝对地址是从指令的绝对地址导出的,因此避免了数据的地址转换。 此外,在某些情况下,也省略了对数据的访问检查。

    FACILITATING MEMORY ACCESSES
    6.
    发明申请
    FACILITATING MEMORY ACCESSES 有权
    促进记忆访问

    公开(公告)号:US20110078388A1

    公开(公告)日:2011-03-31

    申请号:US12569004

    申请日:2009-09-29

    IPC分类号: G06F12/00 G06F12/10

    摘要: In computing environments that use virtual addresses (or other indirectly usable addresses) to access memory, the virtual addresses are translated to absolute addresses (or other directly usable addresses) prior to accessing memory. To facilitate memory access, however, address translation is omitted in certain circumstances, including when the data to be accessed is within the same unit of memory as the instruction accessing the data. In this case, the absolute address of the data is derived from the absolute address of the instruction, thus avoiding address translation for the data. Further, in some circumstances, access checking for the data is also omitted.

    摘要翻译: 在使用虚拟地址(或其他可间接使用的地址)访问内存的计算环境中,在访问内存之前,将虚拟地址转换为绝对地址(或其他可直接使用的地址)。 然而,为了便于存储器访问,在某些情况下,包括当要访问的数据与访问数据的指令在同一单元内时,省略了地址转换。 在这种情况下,数据的绝对地址是从指令的绝对地址导出的,因此避免了数据的地址转换。 此外,在某些情况下,也省略了对数据的访问检查。

    PERFORMING MEMORY ACCESSES WHILE OMITTING UNNECESSARY ADDRESS TRANSLATIONS
    7.
    发明申请
    PERFORMING MEMORY ACCESSES WHILE OMITTING UNNECESSARY ADDRESS TRANSLATIONS 有权
    在进行不必要的地址转换时执行记忆访问

    公开(公告)号:US20120331262A1

    公开(公告)日:2012-12-27

    申请号:US13604751

    申请日:2012-09-06

    IPC分类号: G06F12/10

    摘要: In computing environments that use virtual addresses (or other indirectly usable addresses) to access memory, the virtual addresses are translated to absolute addresses (or other directly usable addresses) prior to accessing memory. To facilitate memory access, however, address translation is omitted in certain circumstances, including when the data to be accessed is within the same unit of memory as the instruction accessing the data. In this case, the absolute address of the data is derived from the absolute address of the instruction, thus avoiding address translation for the data. Further, in some circumstances, access checking for the data is also omitted.

    摘要翻译: 在使用虚拟地址(或其他可间接使用的地址)访问内存的计算环境中,在访问内存之前,将虚拟地址转换为绝对地址(或其他可直接使用的地址)。 然而,为了便于存储器访问,在某些情况下,包括当要访问的数据与访问数据的指令在同一单元内时,省略了地址转换。 在这种情况下,数据的绝对地址是从指令的绝对地址导出的,因此避免了数据的地址转换。 此外,在某些情况下,也省略了对数据的访问检查。

    Reusing Invalidated Traces in a System Emulator
    8.
    发明申请
    Reusing Invalidated Traces in a System Emulator 有权
    在系统仿真器中重用无效跟踪

    公开(公告)号:US20110112820A1

    公开(公告)日:2011-05-12

    申请号:US12614656

    申请日:2009-11-09

    IPC分类号: G06F9/455

    CPC分类号: G06F9/455 G06F11/34

    摘要: Native code corresponding to an invalidated trace is re-used in a system emulator. A first trace is identified. A dropped second trace is identified. The dropped second trace is associated with a first native code for emulating the second trace. If the identified first trace corresponds to the dropped second trace, the first native code is associated to the first trace, and the first native code is executed. If the identified first trace does not correspond to the dropped second trace, a second native code for emulating the first trace is created, the second native code is associated with the first trace, and the second native code is executed.

    摘要翻译: 对应于无效跟踪的本机代码在系统仿真器中重新使用。 第一个痕迹被识别。 确定了丢弃的第二个跟踪。 丢弃的第二个跟踪与用于模拟第二个跟踪的第一本地代码相关联。 如果所识别的第一个跟踪对应于丢弃的第二个跟踪,则第一本地代码与第一个跟踪关联,并且执行第一本地代码。 如果所识别的第一跟踪不对应于丢弃的第二跟踪,则创建用于模拟第一跟踪的第二本地代码,第二本地代码与第一跟踪相关联,并且执行第二本地代码。

    Method for computer program optimization in a dynamic compilation environment
    9.
    发明申请
    Method for computer program optimization in a dynamic compilation environment 有权
    在动态编译环境中计算机程序优化的方法

    公开(公告)号:US20050071831A1

    公开(公告)日:2005-03-31

    申请号:US10845548

    申请日:2004-05-13

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516 G06F8/443

    摘要: Dynamically compiled computer program code containing virtual calls can reduce the options for optimization during compilation. A virtual call can affect sections of the program code that are compiled subsequent to the virtual call. Therefore, the state under which the effected sections are to be executed may not be known at the time of compilation thus complicating optimization of these sections. If assumptions are made about the state of an effected section, then this section can be optimized. In order to provide proper operation of the executing program code given the optimization, a check of the validity of the assumptions is performed prior to execution of the optimized section. If an assumption does not hold true then the original un-optimized section can be executed to reduce adverse program performance.

    摘要翻译: 包含虚拟呼叫的动态编译的计算机程序代码可以减少编译期间优化的选项。 虚拟呼叫可以影响在虚拟呼叫之后编译的程序代码的部分。 因此,在编译时可能不知道要执行实施部分的状态,从而使这些部分的优化复杂化。 如果对受影响部分的状态做出假设,则可以优化本部分。 为了提供给出优化的执行程序代码的正确操作,在执行优化部分之前执行假设的有效性的检查。 如果假设不成立,则可以执行原始未优化部分以减少不利的程序性能。

    Performing memory accesses while omitting unnecessary address translations
    10.
    发明授权
    Performing memory accesses while omitting unnecessary address translations 有权
    在省略不必要的地址转换时执行内存访问

    公开(公告)号:US08725984B2

    公开(公告)日:2014-05-13

    申请号:US13604751

    申请日:2012-09-06

    IPC分类号: G06F12/10 G06F12/02

    摘要: In computing environments that use virtual addresses (or other indirectly usable addresses) to access memory, the virtual addresses are translated to absolute addresses (or other directly usable addresses) prior to accessing memory. To facilitate memory access, however, address translation is omitted in certain circumstances, including when the data to be accessed is within the same unit of memory as the instruction accessing the data. In this case, the absolute address of the data is derived from the absolute address of the instruction, thus avoiding address translation for the data. Further, in some circumstances, access checking for the data is also omitted.

    摘要翻译: 在使用虚拟地址(或其他可间接使用的地址)访问内存的计算环境中,在访问内存之前,将虚拟地址转换为绝对地址(或其他可直接使用的地址)。 然而,为了便于存储器访问,在某些情况下,包括当要访问的数据与访问数据的指令在同一单元内时,省略了地址转换。 在这种情况下,数据的绝对地址是从指令的绝对地址导出的,因此避免了数据的地址转换。 此外,在某些情况下,也省略了对数据的访问检查。