Link-time profile-based method for reducing run-time image of executables
    1.
    发明申请
    Link-time profile-based method for reducing run-time image of executables 审中-公开
    基于链接时间配置文件的方法,用于减少可执行文件的运行时映像

    公开(公告)号:US20060048106A1

    公开(公告)日:2006-03-02

    申请号:US10928678

    申请日:2004-08-27

    IPC分类号: G06F9/45

    CPC分类号: G06F9/44557 G06F9/445

    摘要: An executable program file is produced, which has a reduced run-time image size and improved performance. Profiling information is obtained from an original executable program. Both the original executable code and the profiling information are used to generate the new executable program file. All frozen basic blocks are grouped together and relocated in a separate non-loading module. Each control transfer to and from the relocated code is replaced by an appropriate interrupt. An interrupt mechanism invokes an appropriate handler for loading the relevant code segments from the non-loading module containing the targeted basic blocks. Since the relocated basic blocks are frozen, the time-consuming interrupt mechanism is rarely if ever invoked during run-time, and therefore, has no significant effect on performance.

    摘要翻译: 产生可执行程序文件,其具有减少的运行时图像大小和改进的性能。 分析信息是从原始可执行程序获得的。 原始可执行代码和分析信息都用于生成新的可执行程序文件。 所有冻结的基本块都分组在一起,并重新定位在单独的非加载模块中。 每个控制传输到和从被重新定位的代码被替换为适当的中断。 中断机制调用适当的处理程序来从包含目标基本块的非加载模块加载相关代码段。 由于重新定位的基本块被冻结,所以在运行时很少耗时的中断机制,因此对性能没有显着的影响。

    Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations
    2.
    发明申请
    Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations 失效
    以独立于机器的树形式呈现适用于后链接优化的机器指令

    公开(公告)号:US20080141233A1

    公开(公告)日:2008-06-12

    申请号:US11635136

    申请日:2006-12-07

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A machine-independent representation of computer instructions can serve as a standard for machine instruction description that is suitable for post-link transformation tools, such as post-link optimizers, and for education of users. In one embodiment the instructions are presented as expression trees in a XML file. An optimizer operates on the transformed code representations, after which optimized code is re-transformed into machine-readable code.

    摘要翻译: 计算机指令的独立于机器的表示可以作为机器指令描述的标准,其适用于诸如后链接优化器和用于教育的后链接转换工具。 在一个实施例中,指令在XML文件中被呈现为表达式树。 优化器对变换的代码表示进行操作,之后将优化的代码重新转换为机器可读代码。

    Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations
    3.
    发明授权
    Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations 失效
    以独立于机器的树形式呈现适用于后链接优化的机器指令

    公开(公告)号:US08656381B2

    公开(公告)日:2014-02-18

    申请号:US11635136

    申请日:2006-12-07

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A machine-independent representation of computer instructions can serve as a standard for machine instruction description that is suitable for post-link transformation tools, such as post-link optimizers, and for education of users. In one embodiment the instructions are presented as expression trees in a XML file. An optimizer operates on the transformed code representations, after which optimized code is re-transformed into machine-readable code.

    摘要翻译: 计算机指令的独立于机器的表示可以作为机器指令描述的标准,其适用于诸如后链接优化器和用于教育的后链接转换工具。 在一个实施例中,指令在XML文件中被呈现为表达式树。 优化器对变换的代码表示进行操作,之后将优化的代码重新转换为机器可读代码。

    Method for enabling profile-based call site tailor-ing using profile gathering of cloned functions
    4.
    发明授权
    Method for enabling profile-based call site tailor-ing using profile gathering of cloned functions 失效
    使用概要文件收集克隆功能启用基于配置文件的呼叫站点定制的方法

    公开(公告)号:US08370821B2

    公开(公告)日:2013-02-05

    申请号:US11842180

    申请日:2007-08-21

    IPC分类号: G06F9/45

    摘要: Methods and systems for computer program optimization utilize function cloning in program code, such as post-linked code. Each function call is directed to a different cloned version of the called function. Conventional profiling methods such as hardware event sampling, basic block profiling, and edge profiling may then be applied to the modified program code to obtain call path-based, clone-specific profile data. The profile data can be further exploited to optimize the program code.

    摘要翻译: 用于计算机程序优化的方法和系统利用程序代码中的功能克隆,如后链代码。 每个函数调用定向到被调用函数的不同克隆版本。 然后可以将常规的分析方法(例如硬件事件采样,基本块分析和边缘分析)应用于修改的程序代码,以获得基于呼叫路径的克隆特定的简档数据。 可以进一步利用简档数据来优化程序代码。

    Method for Enabling Profile-Based Call Site Tailor-ing Using Profile Gathering of Cloned Functions
    5.
    发明申请
    Method for Enabling Profile-Based Call Site Tailor-ing Using Profile Gathering of Cloned Functions 失效
    使用配置文件聚合克隆函数启用基于配置文件的调用站点定制的方法

    公开(公告)号:US20090055813A1

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

    申请号:US11842180

    申请日:2007-08-21

    IPC分类号: G06F9/45

    摘要: Methods and systems for computer program optimization utilize function cloning in program code, such as post-linked code. Each function call is directed to a different cloned version of the called function. Conventional profiling methods such as hardware event sampling, basic block profiling, and edge profiling may then be applied to the modified program code to obtain call path-based, clone-specific profile data. The profile data can be further exploited to optimize the program code.

    摘要翻译: 用于计算机程序优化的方法和系统利用程序代码中的功能克隆,如后链代码。 每个函数调用定向到被调用函数的不同克隆版本。 然后可以将常规的分析方法(例如硬件事件采样,基本块分析和边缘分析)应用于修改的程序代码,以获得基于呼叫路径的克隆特定的简档数据。 可以进一步利用简档数据来优化程序代码。

    Gracefully degradable versioned storage systems
    6.
    发明授权
    Gracefully degradable versioned storage systems 有权
    可降解版本的存储系统

    公开(公告)号:US07849354B2

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

    申请号:US11811780

    申请日:2007-06-12

    IPC分类号: G06F11/00

    摘要: Multiple versions of data on different sets of machines allow a system to degrade gracefully even when experiencing excessive failures. When excessive failures cause the latest versions to be unavailable, the system becomes degraded, but still offers an old version if available. A most recent coherent set of the available older versions is found and provided. The degree of degradation increases gradually as the system experiences more and more failures. Graceful degradation is desirably complementary to fault tolerance.

    摘要翻译: 不同机器组上的多个版本的数据允许系统即使在遇到过多故障时也能正常降级。 当过多的故障导致最新版本不可用时,系统会降级,但仍然提供旧版本(如果可用)。 最新的一系列可用的旧版本被发现和提供。 系统经历越来越多的失败,退化程度逐渐升高。 优雅的降解是容错的补充。

    Method and apparatus for caching the results of function applications
with dynamic, fine-grained dependencies
    7.
    发明授权
    Method and apparatus for caching the results of function applications with dynamic, fine-grained dependencies 失效
    用动态,细粒度依赖来缓存功能应用程序结果的方法和装置

    公开(公告)号:US6145056A

    公开(公告)日:2000-11-07

    申请号:US93222

    申请日:1998-06-08

    IPC分类号: G06F9/44 G06F12/08

    CPC分类号: G06F8/71 G06F12/0875

    摘要: Entries are cached in a function cache by statically assigning a primary key to each cache entry, and first grouping entries having identical primary keys, and dynamically assigning a secondary key to each cache entry, and then second grouping entries in each primary key group into sub-groups according to their secondary keys. The function cache is first accessed with a particular primary key to get the primary key group. Second, the primary key group is accessed with a particular secondary key to get a sub-group, and third, the sub-group is accessed with the same particular secondary key to get a matching cache entry.

    摘要翻译: 条目通过静态地将主键分配给每个高速缓存条目,并且首先对具有相同主键的条目进行分组,并将动态地分配次级密钥给每个高速缓存条目,然后将每个主要密钥组中的条目分组成子 - 根据他们的次要密钥组。 首先使用特定主键访问功能缓存以获取主键组。 其次,使用特定辅助密钥访问主键组以获得子组,第三,使用相同的特定辅助键访问子组以获取匹配的高速缓存条目。

    Efficient method and apparatus for compiling and linking modules of
computer code in a large software system
    8.
    发明授权
    Efficient method and apparatus for compiling and linking modules of computer code in a large software system 失效
    用于在大型软件系统中编译和链接计算机代码模块的高效方法和装置

    公开(公告)号:US5748961A

    公开(公告)日:1998-05-05

    申请号:US706382

    申请日:1996-08-30

    IPC分类号: G06F9/44 G06F17/30

    CPC分类号: G06F8/71

    摘要: A software system is defined by a tree of system models which are written in a functional language. During a build of the software system, the functions are interpreted and the results of the expensive expressions are cached. Each function is examined before interpretation to see if it has been evaluated before. If a function has already been evaluated, the cached result is retrieved by the evaluator and the time which would have been spent re-evaluating the function is saved.

    摘要翻译: 软件系统由用功能语言编写的系统模型树定义。 在构建软件系统期间,解释功能,并且缓存昂贵的表达式的结果。 在解释之前检查每个功能,以查看是否已经进行了评估。 如果函数已被评估,则缓存结果将由求值程序检索,并且保存重新计算该函数的时间。

    Gracefully degradable versioned storage systems
    9.
    发明申请
    Gracefully degradable versioned storage systems 有权
    可降解版本的存储系统

    公开(公告)号:US20080313496A1

    公开(公告)日:2008-12-18

    申请号:US11811780

    申请日:2007-06-12

    IPC分类号: G06F11/00

    摘要: Multiple versions of data on different sets of machines allow a system to degrade gracefully even when experiencing excessive failures. When excessive failures cause the latest versions to be unavailable, the system becomes degraded, but still offers an old version if available. A most recent coherent set of the available older versions is found and provided. The degree of degradation increases gradually as the system experiences more and more failures. Graceful degradation is desirably complementary to fault tolerance.

    摘要翻译: 不同机器组上的多个版本的数据允许系统即使在遇到过多故障时也能正常降级。 当过多的故障导致最新版本不可用时,系统会降级,但仍然提供旧版本(如果可用)。 最新的一系列可用的旧版本被发现和提供。 系统经历越来越多的失败,退化程度逐渐升高。 优雅的降解是容错的补充。

    Dynamic fine-grained dependency analysis for a functional language
    10.
    发明授权
    Dynamic fine-grained dependency analysis for a functional language 失效
    功能语言的动态细粒度依赖性分析

    公开(公告)号:US5940619A

    公开(公告)日:1999-08-17

    申请号:US738150

    申请日:1996-10-25

    IPC分类号: G06F9/44 G06F9/45

    摘要: In a computerized method, a computer program is analyzed while the program is interpreted. The program is expressed in a first memory as input values and functions. Some of the input values are complex values which can have a plurality of component values. Each function operates on combinations of the input values and the functions of the program. The program is interpreted in a processor connected to the first memory. The processor is also connected to a second memory to store result values produced during the interpretation. Selected input values, components of the complex values, and functions are named only if the selected values, components, and functions are necessary to produce a selected result value. For each function of the program, the function which is interpreted, the input values on which the function depends, and the result value produced by the function during interpretation, are recorded in the second memory to dynamically perform a precise dependency analysis of the program.

    摘要翻译: 在计算机化方法中,在解释程序时分析计算机程序。 该程序在第一个存储器中表示为输入值和函数。 一些输入值是可以具有多个分量值的复数值。 每个功能按照程序的输入值和功能的组合进行操作。 该程序在连接到第一存储器的处理器中解释。 处理器还连接到第二存储器以存储在解释期间产生的结果值。 选定的输入值,复数值的组成部分和功能仅在选定的值,组件和功能需要产生选定的结果值时进行命名。 对于程序的每个功能,解释的功能,功能所依赖的输入值和解释期间由功能产生的结果值被记录在第二存储器中以动态地执行程序的精确的依赖性分析。