CREATING OPTIMIZED SHORTCUTS
    21.
    发明申请

    公开(公告)号:US20170090920A1

    公开(公告)日:2017-03-30

    申请号:US15346805

    申请日:2016-11-09

    IPC分类号: G06F9/44

    摘要: An embodiments of the invention may include a method, computer program product and computer system for optimizing computer programs. The embodiment may include a computing device that determines a program code of a computer program contains at least two consecutive method handles. The embodiment may determine that the at least two consecutive method handles can be optimized. The embodiment may optimize the at least two consecutive method handles. Optimizing the at least two consecutive method handles may include one or more of: replacing the at least two consecutive method handles with one or more different commands; and reordering the at least two consecutive method handles.

    Hardware Acceleration For Inline Caches In Dynamic Languages
    23.
    发明申请
    Hardware Acceleration For Inline Caches In Dynamic Languages 有权
    动态语言中的内联缓存的硬件加速

    公开(公告)号:US20150205720A1

    公开(公告)日:2015-07-23

    申请号:US14262871

    申请日:2014-04-28

    IPC分类号: G06F12/08

    CPC分类号: G06F9/4491 G06F12/0802

    摘要: Aspects include apparatuses, systems, and methods for hardware acceleration for inline caches in dynamic languages. An inline cache may be initialized for an instance of a dynamic software operation. A call of an initialized instance of the dynamic software operation may be executed by an inline cache hardware accelerator. The inline cache may be checked to determine that its data is current. When the data is current, the initialized instance of the dynamic software operation may be executed using the related inline cache data. When the data is not current, a new inline cache may be initialized for the instance of the dynamic software operation, including the not current data of a previously initialized instance of the dynamic software operation. The inline cache hardware accelerator may include an inline cache memory, a coprocessor, and/or a functional until one an inline cache pipeline connected to a processor pipeline.

    摘要翻译: 方面包括用于动态语言的内联高速缓存的硬件加速的装置,系统和方法。 可以为动态软件操作的实例初始化内联缓存。 动态软件操作的初始化实例的调用可以由内联高速缓存硬件加速器执行。 可以检查内联高速缓存以确定其数据是当前的。 当数据是最新的时,可以使用相关的在线高速缓存数据来执行动态软件操作的初始化实例。 当数据不是当前的时候,可以为动态软件操作的实例初始化新的内联高速缓存,包括动态软件操作的先前初始化的实例的当前数据。 内联高速缓存硬件加速器可以包括内联高速缓冲存储器,协处理器和/或功能,直到连接到处理器流水线的内联高速缓存流水线为止。

    CONCURRENT ACCESSES OF DYNAMICALLY TYPED OBJECT DATA
    24.
    发明申请
    CONCURRENT ACCESSES OF DYNAMICALLY TYPED OBJECT DATA 有权
    动态类型对象数据的并发访问

    公开(公告)号:US20150067639A1

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

    申请号:US14231464

    申请日:2014-03-31

    申请人: Apple Inc.

    发明人: Filip J. Pizlo

    IPC分类号: G06F9/44

    摘要: A method and an apparatus for an enhanced object model to allow concurrent execution for program code generated from dynamic programming languages, such as JavaScript, are described. An index structure may be introduced to an object model representing a dynamically typed object in addition to a type structure and a data payload storing property or field values of the object. Elements of the index structure may point at corresponding property values as an indirection for accessing the object.

    摘要翻译: 描述了用于允许从动态编程语言(例如JavaScript)生成的程序代码的并发执行的增强对象模型的方法和装置。 索引结构可以被引入到表示动态类型对象的对象模型,除了类型结构和数据有效载荷存储对象的属性或字段值之外。 索引结构的元素可以指向相应的属性值作为访问对象的间接。

    Feedback-Directed Call Graph Expansion
    25.
    发明申请
    Feedback-Directed Call Graph Expansion 有权
    反馈定向呼叫图扩展

    公开(公告)号:US20110138369A1

    公开(公告)日:2011-06-09

    申请号:US12633146

    申请日:2009-12-08

    IPC分类号: G06F9/44

    CPC分类号: G06F8/433 G06F9/4491

    摘要: A technique for feedback-directed call graph expansion includes performing symbolic analysis on an interprocedural control flow graph representation of software code, skipping over a virtual method call in the control flow graph, using information obtained from the symbolic analysis as feedback to identify a target of the virtual method call, and iterating the symbolic analysis on a modified version of the control flow graph that associates the target with the virtual method.

    摘要翻译: 用于反馈定向的调用图扩展的技术包括对软件代码的过程间控制流程图表示执行符号分析,在控制流程图中跳过虚拟方法调用,使用从符号分析获得的信息作为反馈来识别目标 虚拟方法调用,并且将目标与虚拟方法相关联的控制流图的修改版本迭代符号分析。

    Fast variable validation for state management of a graphics pipeline
    26.
    发明申请
    Fast variable validation for state management of a graphics pipeline 有权
    快速变量验证图形管道的状态管理

    公开(公告)号:US20080005731A1

    公开(公告)日:2008-01-03

    申请号:US11478285

    申请日:2006-06-29

    IPC分类号: G06F9/44

    摘要: In a state management system of an effects system implemented in a Graphics Processing Unit (GPU), techniques and technologies are provided for setting a value to particular variables at application run-time without validating the variables. For example, a compiled effects file comprising a number of variables can be loaded at application load time, and a generic, variable interface pointer for a particular variable of the effects file can be retrieved. A specialized variable interface pointer can then be generated which is associated with the particular variable by specifying a desired type of access that will be performed on the particular variable. At application run-time, the specialized variable interface can be used to set a value to each of the particular variables without validating the particular variables at application run-time.

    摘要翻译: 在图形处理单元(GPU)中实现的效果系统的状态管理系统中,提供了在应用程序运行时将值设置为特定变量而不验证变量的技术和技术。 例如,可以在应用加载时加载包含多个变量的编译效果文件,并且可以检索用于特定文件的特定变量的通用的可变接口指针。 然后可以通过指定将对特定变量执行的期望类型的访问来生成与特定变量相关联的专用变量接口指针。 在应用程序运行时,可以使用专用变量接口为每个特定变量设置一个值,而不在应用程序运行时验证特定变量。

    Inline database for receiver types in object-oriented systems
    29.
    发明申请
    Inline database for receiver types in object-oriented systems 有权
    面向对象系统中接收器类型的内联数据库

    公开(公告)号:US20040244009A1

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

    申请号:US09896075

    申请日:2001-06-28

    发明人: Lars Bak Urs Holzle

    IPC分类号: G06F009/44

    CPC分类号: G06F9/4491

    摘要: Systems and methods for implementing message dispatch for an object-oriented program are provided. Receiver type information is collected at a site of a method that dispatches messages to receiver objects. The receiver type information is saved for subsequent execution of the program. By saving the receiver type information, the program may be more efficient as it is not necessary to collect the receiver type information again. Additionally, inlining information may be saved with the receiver type information.

    摘要翻译: 提供了一种用于实现面向对象程序的消息发送的系统和方法。 接收器类型信息在将消息分派给接收器对象的方法的站点处收集。 保存接收器类型信息以便随后执行程序。 通过保存接收器类型信息,程序可能更有效,因为不需要再次收集接收器类型信息。 此外,可以使用接收器类型信息来保存内联信息。

    Code generation for a bytecode compiler
    30.
    发明授权
    Code generation for a bytecode compiler 失效
    字节码编译器的代码生成

    公开(公告)号:US06760907B2

    公开(公告)日:2004-07-06

    申请号:US09108061

    申请日:1998-06-30

    申请人: Nicholas Shaylor

    发明人: Nicholas Shaylor

    IPC分类号: G06F945

    CPC分类号: G06F8/447 G06F9/4491

    摘要: A method, system and apparatus for generating and optimizing native code in a runtime compiler from a group of bytecodes presented to the compiler. The compiler accesses information that indicates a likelihood that a class will be a particular type when accessed by the running program. Using the accessed information, the compiler selects a code generation method from a plurality of code generation methods. A code generator generates optimized native code according to the selected code generation method and stores the optimized native code in a code cache for reuse.

    摘要翻译: 一种用于从呈现给编译器的一组字节码生成和优化运行时编译器中的本地代码的方法,系统和装置。 编译器访问指示在正在运行的程序访问时类可能是特定类型的信息。 使用所访问的信息,编译器从多个代码生成方法中选择代码生成方法。 代码生成器根据选择的代码生成方法生成优化的本机代码,并将优化的本机代码存储在代码高速缓存中以供重用。