Code section optimization by removing memory barrier instruction and enclosing within a transaction that employs hardware transaction memory
    62.
    发明授权
    Code section optimization by removing memory barrier instruction and enclosing within a transaction that employs hardware transaction memory 有权
    通过删除内存障碍指令并将其包含在采用硬件事务内存的事务中进行代码段优化

    公开(公告)号:US08972704B2

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

    申请号:US13326320

    申请日:2011-12-15

    摘要: A code section of a computer program to be executed by a computing device includes memory barrier instructions. Where the code section satisfies a threshold, the code section is modified, by enclosing the code section within a transaction that employs hardware transactional memory of the computing device, and removing the memory barrier instructions from the code section. Execution of the code section as has been enclosed within the transaction can be monitored to yield monitoring results. Where the monitoring results satisfy an abort threshold corresponding to excessive aborting of the execution of the code section as has been enclosed within the transaction, the code section is split into code sub-sections, and each code sub-section enclosed within a separate transaction that employs the hardware transactional memory. Splitting the code section sections and enclosing each code sub-section within a separate transaction can decrease occurrence of the code section aborting during execution.

    摘要翻译: 由计算设备执行的计算机程序的代码部分包括存储器障碍指令。 在代码部分满足阈值的情况下,通过将代码部分包围在使用计算设备的硬件事务存储器的事务中,并从代码部分移除存储器障碍指令来修改代码部分。 可以监视执行代码部分的内容,以便产生监视结果。 如果监视结果满足对应于已经包含在交易内的代码段的执行的过度中止所对应的中止阈值,则代码部分被分割为代码子部分,并且每个代码子部分包含在单独的交易中, 采用硬件事务内存。 拆分代码段部分并在单独的事务中包围每个代码子部分可以减少代码段在执行期间中止的发生。

    RE-FACTOR CODE TO USE METHOD CHAINING WITH OPTIMIZER TOOL
    63.
    发明申请
    RE-FACTOR CODE TO USE METHOD CHAINING WITH OPTIMIZER TOOL 有权
    使用优化工具的方法链的重要因素代码

    公开(公告)号:US20150046911A1

    公开(公告)日:2015-02-12

    申请号:US13964067

    申请日:2013-08-10

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443 G06F8/4441

    摘要: Optimizing compiled code includes finding a portion of the compiled code arising from method calls in a portion of source code that were not chained method calls. Modified code is produced for the portion of the compiled code, wherein the modified code conforms to compiled code that would have arisen from source code having chained calls equivalent to the method calls that were not chained in the portion of the source code.

    摘要翻译: 优化编译代码包括在源代码的一部分中没有链接方法调用的方法调用中找到编译代码的一部分。 为编译代码的部分生成修改后的代码,其中修改的代码符合从源代码产生的编译代码,该代码具有与源代码部分中未链接的方法调用相等的链接调用。

    Method and node entity for enhancing content delivery network
    64.
    发明授权
    Method and node entity for enhancing content delivery network 有权
    用于增强内容传送网络的方法和节点实体

    公开(公告)号:US08949533B2

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

    申请号:US13575723

    申请日:2010-02-05

    IPC分类号: G06F12/08 H04L29/08

    摘要: The present invention prdvides a method and a caching node entity for ensuring at least a predetermined number of a content object to be kept stored in a network, comprising a plurality of cache nodes for storing copies of content objects. The present invention makes use of ranking states values, deletable or non-deletable, which when assigned to copies of content objects are indicating whether a copy is either deletable or non-deletable. At least one copy of each content object is assigned the value non-deletable The value for a copy of a content object changing from deletable to non-deletable in one cache node of the network, said copy being a candidate for the value non-deletable, if a certain condition is fulfilled.

    摘要翻译: 本发明提供了一种方法和缓存节点实体,用于确保至少预定数量的要保存在网络中的内容对象,包括用于存储内容对象的副本的多个高速缓存节点。 本发明利用排序状态值,可删除或不可删除,当分配给内容对象的副本时,它们指示副本是可删除还是不可删除。 每个内容对象的至少一个副本被分配值不可删除。 内容对象的副本的值从网络的一个缓存节点中的可删除到不可删除的文件的值,如果满足某个条件,则该副本是该值不可删除的候选者。

    Dynamic compiler program, dynamic compiling method and dynamic compiling device
    65.
    发明授权
    Dynamic compiler program, dynamic compiling method and dynamic compiling device 有权
    动态编译程序,动态编译方法和动态编译器

    公开(公告)号:US08938728B2

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

    申请号:US14096700

    申请日:2013-12-04

    IPC分类号: G06F9/45 G06F9/455

    CPC分类号: G06F9/45516 G06F8/4441

    摘要: A dynamic compiler program product, method, and device for sequentially compiling a partial computer program in a computer. The program product causes the computer to: acquire respective values of one or more pieces of current execution status information; read, from the shared pool, a list of the conditions associated with an executable instruction stream generated by compiling a partial program that is the same as a partial program to be compiled, and determine whether respective values of corresponding pieces of current execution status information satisfy the conditions. The program product causes the computer to further generate an executable instruction stream by compiling the partial program to be compiled on the condition that a result of determination made is negative.

    摘要翻译: 用于在计算机中顺序编译部分计算机程序的动态编译程序产品,方法和设备。 程序产品使得计算机:获取一个或多个当前执行状态信息的相应值; 从共享池读取与通过编译与要编译的部分程序相同的部分程序生成的可执行指令流的条件的列表,并且确定当前执行状态信息的相应段的各个值是否满足 条件。 程序产品使得计算机进一步通过在确定结果为否定的条件下编译要编译的部分程序来生成可执行指令流。

    METHOD OF COMPILATION, COMPUTER PROGRAM AND COMPUTING SYSTEM
    66.
    发明申请
    METHOD OF COMPILATION, COMPUTER PROGRAM AND COMPUTING SYSTEM 有权
    编译方法,计算机程序与计算机系统

    公开(公告)号:US20150007152A1

    公开(公告)日:2015-01-01

    申请号:US14375021

    申请日:2013-01-27

    IPC分类号: G06F9/45

    摘要: The method includes: —pre-compiling a source code including determining (212), in the source code, the presence of one or a plurality of array computations on one or a plurality of arrays, referred to as input arrays, the result whereof is assigned to an array, referred to as a result array, and modifying (214) the source code according to the array computation(s) for which the presence has been determined; and —compiling (238) the modified source in machine code intended to be executed by a computer system, referred to as a target computer system, having a processor, the compiling (238) of the modified source code including compiling the command instructions in instructions which, when executed by the processor of the target computer system, command a specialised electronic device, different from the processor, to carry out each array computation detected.

    摘要翻译: 该方法包括: - 编译源代码,包括在源代码中确定(212)在一个或多个阵列上的一个或多个阵列计算的存在,称为输入阵列,其结果为 分配给阵列,称为结果数组,并且根据已经确定存在的阵列计算来修改(214)源代码; (238)修改的源代码,旨在由具有处理器的被称为目标计算机系统的计算机系统执行的机器代码中,修改的源代码的编译(238)包括在指令中编译命令指令 当由目标计算机系统的处理器执行命令时,不同于处理器的专用电子设备执行检测到的每个阵列计算。

    PLATFORM SPECIFIC OPTIMIZATIONS IN STATIC COMPILERS
    67.
    发明申请
    PLATFORM SPECIFIC OPTIMIZATIONS IN STATIC COMPILERS 有权
    静态编译器中的平台特定优化

    公开(公告)号:US20140380289A1

    公开(公告)日:2014-12-25

    申请号:US13924322

    申请日:2013-06-21

    IPC分类号: G06F9/45

    摘要: Embodiments include systems and methods for generating an application code binary that exploits new platform-specific capabilities, while maintaining backward compatibility with other older platforms. For example, application code is profiled to determine which code regions are main contributors to the runtime execution of the application. For each hot code region, a determination is made as to whether multiple versions of the hot code region should be produced for different target platform models. Each hot code region can be analyzed to determine if benefits can be achieved by exploiting platform-specific capabilities corresponding to each of N platform models, which can result in between one and N versions of that particular hot code region. Navigation instructions are generated as part of the application code binary to permit a target machine to select appropriate versions of the hot code sections at load time, according to the target machine's capabilities.

    摘要翻译: 实施例包括用于生成利用新的平台特定能力的应用代码二进制的系统和方法,同时保持与其他较旧平台的向后兼容性。 例如,应用程序代码被分析以确定哪些代码区域是应用程序的运行时执行的主要贡献者。 对于每个热代码区域,确定是否应为不同的目标平台模型生成多个版本的热代码区域。 可以分析每个热代码区域以确定是否可以通过利用与N个平台模型中的每一个相对应的特定于平台的能力来实现利益,这可以导致该特定热代码区域的一个和第N个版本。 导航指令是作为应用程序代码二进制的一部分生成的,以允许目标机器根据目标机器的能力在加载时选择热代码段的适当版本。

    COMPILER OPTIMIZATION FOR MEMOIZATION OF PURE FUNCTION ARGUMENTS
    68.
    发明申请
    COMPILER OPTIMIZATION FOR MEMOIZATION OF PURE FUNCTION ARGUMENTS 有权
    用于备份纯功能参数的编译器优化

    公开(公告)号:US20140372996A1

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

    申请号:US13920152

    申请日:2013-06-18

    IPC分类号: G06F9/45

    摘要: Exemplary embodiments of the present invention disclose a method and system for replacing an unevaluated input that is constant at runtime to a group of instructions that calculates an output and can not modify the unevaluated input with invocation code that calls evaluation code. In a step, an exemplary embodiment identifies a group of instructions with an unevaluated input that is constant at runtime that calculates an output and can not modify the unevaluated input. In another step, an exemplary embodiment identifies an unevaluated input to the group of instructions that is constant at runtime. In another step, an exemplary embodiment generates an evaluation code that evaluates the unevaluated input. In another step, an exemplary embodiment replaces the unevaluated input with an invocation code that invokes the evaluation code.

    摘要翻译: 本发明的示例性实施例公开了一种方法和系统,用于将运行时常数的未评估输入替换为计算输出的一组指令,并且不能用调用评估代码的调用代码修改未评估的输入。 在一个步骤中,示例性实施例识别具有未计算输入的指令组,其在运行时是恒定的,其计算输出并且不能修改未经评估的输入。 在另一步骤中,示例性实施例识别在运行时是恒定的指令组的未评估输入。 在另一步骤中,示例性实施例生成评估未评估输入的评估代码。 在另一步骤中,示例性实施例用调用代码的调用代码替换未评估的输入。

    OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE FOR ATOMIC EXECUTION
    69.
    发明申请
    OPTIMIZING INTERMEDIATE REPRESENTATION OF SCRIPT CODE FOR ATOMIC EXECUTION 有权
    优化原子码执行代码的中间代表

    公开(公告)号:US20140289716A1

    公开(公告)日:2014-09-25

    申请号:US13850238

    申请日:2013-03-25

    申请人: Facebook, Inc.

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: Disclosed here are methods, systems, paradigms and structures for optimizing intermediate representation (IR) of a script code for atomic execution. Atomic execution of the script is achieved by generating portions of the IR as an atomic transaction. In an atomic transaction, a series of operations either all execute, or none executes. The IR includes checkpoints that evaluate to one of two possible values. The checkpoint evaluates to a first value when there is no error during execution, and evaluates to a second value when an error occurs. The IR is optimized for atomic execution by regenerating a portion of the IR including the checkpoint and code associated with the checkpoint as a transaction. When an error occurs during the execution of the transaction, the transaction is aborted and a state of execution of the script code is reverted to a state prior to the beginning of the transaction.

    摘要翻译: 这里公开了用于优化用于原子执行的脚本代码的中间表示(IR)的方法,系统,范例和结构。 通过将IR的部分生成为原子事务来实现脚本的原子执行。 在原子事务中,一系列操作全部执行,否则执行。 IR包括评估两个可能值之一的检查点。 当执行时没有错误时,检查点将计算为第一个值,并在发生错误时评估为第二个值。 IR通过重新生成包含与检查点相关联的检查点和代码的IR的一部分作为事务来优化原子执行。 当事务执行期间发生错误时,事务被中止,并且脚本代码的执行状态恢复到事务开始之前的状态。

    Optimizing program by reusing execution result of subclass test function

    公开(公告)号:US08789029B2

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

    申请号:US13602787

    申请日:2012-09-04

    申请人: Takeshi Ogasawara

    发明人: Takeshi Ogasawara

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441 G06F8/36

    摘要: A technique for optimizing a program by reusing an execution result of a subclass test function. It includes a reusability determining unit to determine reusability of code of a subclass test function based on whether access to a global memory includes only access for reading out type information specified in a function call, a profiling unit configured to store an execution result of code determined to be reusable and specified information in a storage device in association with actually accessed type information, a reuse processing unit configured to reuse, in response to detection of a function call for calling the code determined to be reusable, the execution result on condition that the pieces of specified information specified in the function calls match, and a monitoring unit configured to monitor the type information associated with the execution result and prohibit reuse of the execution result if the type information is changed.