Dynamic management of compiled code
    1.
    发明申请
    Dynamic management of compiled code 有权
    编译代码的动态管理

    公开(公告)号:US20050204349A1

    公开(公告)日:2005-09-15

    申请号:US10799467

    申请日:2004-03-11

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: Disclosed are a method, apparatus and system for dynamically managing layout of compiled code in a managed runtime environment. Profile feedback is generated during runtime, based on hardware event data that is gathered during runtime. A code manager dynamically relocates compiled code to reduce miss events based on the profile feedback. The code manager may also relocate virtual method tables in a virtual table region in order to reduce data miss events. The method does not require a prior run of an application program because profile feedback is based on event data that is tracked by hardware during execution of the software application and is not based on instrumented code.

    摘要翻译: 公开了一种用于在受管理的运行时环境中动态管理编译代码的布局的方法,装置和系统。 基于运行时收集的硬件事件数据,在运行时生成配置文件反馈。 代码管理器根据配置文件反馈动态地重新定位编译的代码以减少错误事件。 代码管理器还可以在虚拟表区域中重定位虚拟方法表,以减少数据未命中事件。 该方法不需要应用程序的先前运行,因为配置文件反馈基于在执行软件应用期间由硬件跟踪的事件数据,并且不基于装配的代码。

    Object relocation guided by data cache miss profile
    2.
    发明授权
    Object relocation guided by data cache miss profile 失效
    由数据缓存未命中配置引导的对象重定位

    公开(公告)号:US07650464B2

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

    申请号:US11728383

    申请日:2007-03-26

    IPC分类号: G06F12/00

    摘要: Data locality optimization through object relocation may be implemented in a virtual machine including a just-in-time compiler. The just-in-time compiler generates load instruction maps for each compiled method. A profile collector is coupled to the just-in-time compiler to receive hardware profiling support. The profile collector takes samples of data cache misses. A garbage collector is coupled to the profile collector. The garbage collector deduces types of objects from the cache miss samples and adjusts garbage collection object copying heuristics to relocate objects for better cache locality based on those types.

    摘要翻译: 通过对象重定位的数据局部性优化可以在包括即时编译器的虚拟机中实现。 即时编译器为每个编译的方法生成加载指令映射。 配置文件收集器耦合到即时编译器以接收硬件配置支持。 配置文件收集器采集数据高速缓存未命中的样本。 垃圾收集器耦合到配置文件收集器。 垃圾收集器从缓存缺失样本中推导出对象的类型,并根据这些类型调整垃圾收集对象复制启发式方法以重定位对象以获得更好的缓存位置。

    Method and apparatus for instruction re-alignment using a branch on a falsehood of a qualifying predicate
    3.
    发明授权
    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.

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

    Inserting prefetch instructions based on hardware monitoring
    4.
    发明申请
    Inserting prefetch instructions based on hardware monitoring 审中-公开
    根据硬件监控插入预取指令

    公开(公告)号:US20070150660A1

    公开(公告)日:2007-06-28

    申请号:US11320201

    申请日:2005-12-28

    IPC分类号: G06F12/00

    CPC分类号: G06F12/0862

    摘要: A compiler or runt-time system may determine a prefetch point to insert an instruction in order to prefetch a memory location and thereby reduce latency in accessing information from a cache. A prefetch predictor generator may decide where and whether to insert the appropriate instructions by looking at information from a hardware monitor. For example, information about cache misses may be analyzed. The differences between target addresses of those cache misses for different instructions may be determined. This information may also be used to determine the locations in the program where the prefetch instructions should be placed, as well as to calculate the address of the memory location being prefetched.

    摘要翻译: 编译器或runt-time系统可以确定预取点来插入指令以便预取存储器位置,从而减少从高速缓存访​​问信息的延迟。 预取预测器发生器可以通过查看来自硬件监视器的信息来决定何处以及是否插入适当的指令。 例如,可以分析关于高速缓存未命中的信息。 可以确定不同指令的那些高速缓存未命中的目标地址之间的差异。 该信息还可以用于确定应该放置预取指令的程序中的位置,以及计算正在预取的存储器位置的地址。

    Mechanism to improve performance monitoring overhead
    6.
    发明申请
    Mechanism to improve performance monitoring overhead 审中-公开
    提高绩效监测开销的机制

    公开(公告)号:US20050146449A1

    公开(公告)日:2005-07-07

    申请号:US10748875

    申请日:2003-12-30

    IPC分类号: H03M7/38

    CPC分类号: H03M7/30

    摘要: In one embodiment, a method is provided. The method of this embodiment provides reading one or more records event data, the one or more event data corresponding to an event monitored from a system; for each event datum, compressing the event datum if the event datum is determined to be compressible; creating a processed event record, the processed event record conforming to a record format; and storing the one or more event data in the processed event record in accordance with the record format.

    摘要翻译: 在一个实施例中,提供了一种方法。 该实施例的方法提供读取一个或多个记录事件数据,所述一个或多个事件数据对应于从系统监视的事件; 对于每个事件数据,如果事件数据被确定为可压缩的则压缩事件数据; 创建处理的事件记录,符合记录格式的已处理事件记录; 以及根据记录格式将所述一个或多个事件数据存储在所处理的事件记录中。

    Object relocation guided by data cache miss profile
    7.
    发明申请
    Object relocation guided by data cache miss profile 失效
    由数据缓存未命中配置引导的对象重定位

    公开(公告)号:US20080243300A1

    公开(公告)日:2008-10-02

    申请号:US11728383

    申请日:2007-03-26

    IPC分类号: G06F7/00

    摘要: Data locality optimization through object relocation may be implemented in a virtual machine including a just-in-time compiler. The just-in-time compiler generates load instruction maps for each compiled method. A profile collector is coupled to the just-in-time compiler to receive hardware profiling support. The profile collector takes samples of data cache misses. A garbage collector is coupled to the profile collector. The garbage collector deduces types of objects from the cache miss samples and adjusts garbage collection object copying heuristics to relocate objects for better cache locality based on those types.

    摘要翻译: 通过对象重定位的数据局部性优化可以在包括即时编译器的虚拟机中实现。 即时编译器为每个编译的方法生成加载指令映射。 配置文件收集器耦合到即时编译器以接收硬件配置支持。 配置文件收集器采集数据高速缓存未命中的样本。 垃圾收集器耦合到配置文件收集器。 垃圾收集器从缓存缺失样本中推导出对象的类型,并根据这些类型调整垃圾收集对象复制启发式方法以重定位对象以获得更好的缓存位置。

    Early exit transformations for software pipelining
    9.
    发明授权
    Early exit transformations for software pipelining 有权
    软件流水线的早期退出转换

    公开(公告)号:US06571385B1

    公开(公告)日:2003-05-27

    申请号:US09273947

    申请日:1999-03-22

    IPC分类号: G06F944

    摘要: The invention is directed to the transformation of software loops having early exit conditions, thereby allowing the loops to be more effectively converted to a single basic block for software pipelining. The invention assigns a predicate register for each early exit condition of the software loop. The predicate registers are set when the corresponding early exit condition is satisfied. In this manner, when the loop terminates the predicate registers can be examined to indicate which early exit conditions were satisfied. The invention produces loops having a lower recurrence II and resource II than conventional techniques.

    摘要翻译: 本发明涉及具有早期退出条件的软件循环的变换,从而允许循环更有效地转换成用于软件流水线化的单个基本块。 本发明为软件循环的每个提前退出条件分配谓词寄存器。 当满足相应的提前退出条件时,设定谓词寄存器。 以这种方式,当循环终止时,可以检查谓词寄存器以指示哪个早期退出条件被满足。 本发明产生具有比常规技术更低的复发II和资源II的环。

    Dynamic management of compiled code
    10.
    发明授权
    Dynamic management of compiled code 有权
    编译代码的动态管理

    公开(公告)号:US07424705B2

    公开(公告)日:2008-09-09

    申请号:US10799467

    申请日:2004-03-11

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: Disclosed are a method, apparatus and system for dynamically managing layout of compiled code in a managed runtime environment. Profile feedback is generated during runtime, based on hardware event data that is gathered during runtime. A code manager dynamically relocates compiled code to reduce miss events based on the profile feedback. The code manager may also relocate virtual method tables in a virtual table region in order to reduce data miss events. The method does not require a prior run of an application program because profile feedback is based on event data that is tracked by hardware during execution of the software application and is not based on instrumented code.

    摘要翻译: 公开了一种用于在受管理的运行时环境中动态管理编译代码的布局的方法,装置和系统。 基于运行时收集的硬件事件数据,在运行时生成配置文件反馈。 代码管理器根据配置文件反馈动态地重新定位编译的代码以减少错误事件。 代码管理器还可以在虚拟表区域中重定位虚拟方法表,以减少数据未命中事件。 该方法不需要应用程序的先前运行,因为配置文件反馈基于在执行软件应用期间由硬件跟踪的事件数据,并且不基于装配的代码。