LOADABLE MODULES WITH PARTIAL LINKING AND LOAD-TIME RELOCATION

    公开(公告)号:WO2018137258A1

    公开(公告)日:2018-08-02

    申请号:PCT/CN2017/072788

    申请日:2017-01-30

    CPC classification number: G06F9/44521 G06F8/447 G06F8/54

    Abstract: A loadable module design that can be implemented in hardware-limited platforms. In particular, according to various aspects, literal memory space (424) may be reserved to the loadable module on a processor (610) running in an absolute addressing mode, wherein the literal space (424) may be reserved in a valid address range accessible to one or more address-restricted instructions. At build time, a partial linking combining one or more object files (320, 322, 324) associated with the loadable module with operating system exported symbols (330) may be generated. Accordingly, at load time, literal space may be allocated to the loadable module from the reserved literal memory space (424) and text and data spaces may be allocated from unused memory (440) such that addresses associated with all internal functions and variables may be relocated according to start addresses associated with the literal, text, and data spaces.

    GRAPHICS ENGINE AND ENVIRONMENT FOR ENCAPSULATING GRAPHICS LIBRARIES AND HARDWARE
    2.
    发明申请
    GRAPHICS ENGINE AND ENVIRONMENT FOR ENCAPSULATING GRAPHICS LIBRARIES AND HARDWARE 审中-公开
    图形引擎和环境图形图形和硬件

    公开(公告)号:WO2016200738A1

    公开(公告)日:2016-12-15

    申请号:PCT/US2016/036060

    申请日:2016-06-06

    Applicant: APPLE INC.

    Abstract: The disclosure pertains to the operation of graphics systems and to a variety of architectures for design and/or operation of a graphics system spanning from the output of an application program and extending to the presentation of visual content in the form of pixels or otherwise. In general, many embodiments of the invention envision the processing of graphics programming according to an on-the-fly decision made regarding how best to use the specific available hardware and software. In some embodiments, a software arrangement may be used to evaluate the specific system hardware and software capabilities, then make a decision regarding what is the best graphics programming path to follow for any particular graphics request. The decision regarding the best path may be made after evaluating the hardware and software alternatives for the path in view of the particulars of the graphics program to be processed.

    Abstract translation: 本公开涉及图形系统的操作以及用于从应用程序的输出跨越到以像素或其他形式呈现视觉内容的图形系统的设计和/或操作的各种架构。 通常,本发明的许多实施例根据关于如何最好地使用特定的可用硬件和软件的即时决定来设想图形编程的处理。 在一些实施例中,可以使用软件布置来评估特定的系统硬件和软件能力,然后作出关于什么是用于任何特定图形请求的最佳图形编程路径的决定。 考虑到要处理的图形程序的细节,可以在评估路径的硬件和软件替代方案之后做出关于最佳路径的决定。

    SYSTEMS AND METHODS FOR TRANSFORMATION OF A DATAFLOW GRAPH FOR EXECUTION ON A PROCESSING SYSTEM
    3.
    发明申请
    SYSTEMS AND METHODS FOR TRANSFORMATION OF A DATAFLOW GRAPH FOR EXECUTION ON A PROCESSING SYSTEM 审中-公开
    用于转换用于处理系统执行的数据流图的系统和方法

    公开(公告)号:WO2016177405A1

    公开(公告)日:2016-11-10

    申请号:PCT/EP2015/059826

    申请日:2015-05-05

    CPC classification number: G06F8/451 G06F8/447

    Abstract: An apparatus adapted to transform nodes of a flow graph for execution on an, in particular distributed, processing system, comprising: an interface adapted to receive a dataflow graph that comprises nodes, each node representing a high-level operation; a compiler adapted to: transform at least one high-level operation node to at least one low-level operation node corresponding to the at least one high-level operation to create a transformed dataflow graph, the at least one low-level operation adapted for execution on a processor of a plurality of processors of a runtime environment executing the transformed dataflow graph, the transform performed according to a performance measure calculated for each processor executing the at least one high-level operation using the at least one low-level operation adapted for execution by the respective processor.

    Abstract translation: 一种适于转换流图的节点以在特别是分布式处理系统中执行的装置,包括:适于接收包括节点的数据流图的接口,每个节点表示高级操作; 编译器,适用于:将至少一个高级操作节点变换到至少一个与所述至少一个高级操作相对应的低级操作节点,以创建变换后的数据流图,所述至少一个低级操作适于 在执行变换后的数据流图的运行时环境的多个处理器的处理器上进行执行,所述变换是根据对使用所述至少一个低级操作执行所述至少一个高级操作的每个处理器计算的性能测量进行的, 供相应处理器执行。

    COMPILER AND METHOD FOR COMPILING SOURCE CODE
    4.
    发明申请
    COMPILER AND METHOD FOR COMPILING SOURCE CODE 审中-公开
    编译源代码的编译器和方法

    公开(公告)号:WO2016089243A1

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

    申请号:PCT/RU2014/000911

    申请日:2014-12-04

    CPC classification number: G06F8/443 G06F8/447

    Abstract: A method for compiling source code comprises translating the source code into a plurality of intermediate representations using a plurality of alternative translation schemes, respectively, applying fusion and/or transformations to each of the plurality of intermediate representations to obtain a plurality of transformatted representations, generating a plurality of executable programs from the plurality of transformatted representations, respectively, and selecting one or more of the plurality of executable programs as output program depending on one or more performance metrics of the plurality of executable programs.

    Abstract translation: 一种用于编译源代码的方法包括:使用多个可选择的转换方案将源代码转换成多个中间表示,将多个中间表示中的每一个应用融合和/或变换,以获得多个变换表示, 分别从多个转换表示中生成多个可执行程序,并且根据多个可执行程序的一个或多个性能度量,选择多个可执行程序中的一个或多个作为输出程序。

    DYNAMIC CODE MANAGEMENT
    5.
    发明申请
    DYNAMIC CODE MANAGEMENT 审中-公开
    动态代码管理

    公开(公告)号:WO2016040494A1

    公开(公告)日:2016-03-17

    申请号:PCT/US2015/049204

    申请日:2015-09-09

    CPC classification number: G06F8/447 G06F17/3089 G06F17/30893 G06F17/30905

    Abstract: Systems and methods for performing dynamic code management, such as dynamic management of JavaScript tags in webpages or code segments in native applications, are disclosed. A user device loading a web or native application can access a factor, such as a user device-specific attribute or a piece of content of the webpage or native application being loaded. That factor can be applied to a rule that is evaluated (e.g., by the user device or a code server) to select one or more desired segments of code (e.g., JavaScript tags or native application code) to be executed by the user device from a pool of available code (e.g., pre-embedded code or dynamically injected code).

    Abstract translation: 公开了用于执行动态代码管理的系统和方法,例如在本地应用中的网页或代码段中的JavaScript标签的动态管理。 加载网络或本机应用的用户设备可以访问诸如用户设备特定属性或正在加载的网页或本地应用的内容的一个因素。 该因素可以应用于被评估的规则(例如,由用户设备或代码服务器)来选择要由用户设备执行的一个或多个期望的代码段(例如,JavaScript标签或本机应用代码) 可用代码池(例如,预嵌入代码或动态注入的代码)。

    MANAGING EXECUTION STATE OF COMPONENTS IN A GRAPH-BASED PROGRAM SPECIFICATION FOR CONTROLLING THEIR ASSOCIATED TASKS
    6.
    发明申请
    MANAGING EXECUTION STATE OF COMPONENTS IN A GRAPH-BASED PROGRAM SPECIFICATION FOR CONTROLLING THEIR ASSOCIATED TASKS 审中-公开
    管理基于图形的程序规范中组件的执行状态以控制其相关任务

    公开(公告)号:WO2016036822A1

    公开(公告)日:2016-03-10

    申请号:PCT/US2015/048091

    申请日:2015-09-02

    CPC classification number: G06F9/5027 G06F8/41 G06F8/447 G06F9/4494 G06F9/4843

    Abstract: Information representative of a graph-based program specification (110) has components, and directed links between ports of said components, defining a dependency between said components. A directed link exists between a port of a first component and a port of a second component. The first component specifies first-component execution code that when compiled enables execution of a first task. The second component specifies second-component execution code that when compiled enables execution of a second task. Compiling (120) the graph-based program specification includes grafting first control code to said first-component execution code, which changes a state of said second component to a pending state, an active state, or a suppressed state. Based on said state, said first control code causes at least one of: invoking said second component if said state changes from pending to active, or suppressing said second component if said state changes from pending to suppressed.

    Abstract translation: 表示基于图的程序规范(110)的信息具有组件,以及所述组件的端口之间的定向链接,定义所述组件之间的依赖关系。 在第一组件的端口和第二组件的端口之间存在定向链路。 第一个组件规定了第一个组件的执行代码,当编译时它们可以执行第一个任务。 第二个组件指定了第二个组件的执行代码,它们在编译时可以执行第二个任务。 编译(120)基于图的程序规范包括将第一控制代码移植到所述第一组件执行代码,所述第一组件执行代码将所述第二组件的状态改变为未决状态,活动状态或禁止状态。 基于所述状态,所述第一控制代码引起以下中的至少一个:如果所述状态从未决状态改变为活动状态,则调用所述第二组件;或者如果所述状态从未决状态改变为被抑制,则抑制所述第二组件。

    DISTRIBUTED COMPILATION OF STATICALLY TYPED LANGUAGES
    7.
    发明申请
    DISTRIBUTED COMPILATION OF STATICALLY TYPED LANGUAGES 审中-公开
    静态语言的分布式编译

    公开(公告)号:WO2015183241A1

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

    申请号:PCT/US2014/039581

    申请日:2014-05-27

    CPC classification number: G06F8/433 G06F8/41 G06F8/447

    Abstract: Examples relate to providing distributed compilation of statically typed languages. In some examples, first order dependencies of a target module are identified, where each of the first order dependencies is associated with one of a number of dependent modules. Next, each first order dependency of is traversed to remove code references from source code of a corresponding module of the plurality of dependent modules, where each of the code references refers to a type defined in an indirect dependency of the target module, and compile the source code of the corresponding module to generate a module stub of a number of module stubs. At this stage, source code of the target module is compiled using the module stubs to generate a target program

    Abstract translation: 示例涉及提供静态类型语言的分布式编译。 在一些示例中,识别目标模块的一阶依赖性,其中第一阶依赖性中的每一个与多个依赖模块中的一个相关联。 接下来,遍历每个第一顺序依赖性以从多个依赖模块的相应模块的源代码中移除代码引用,其中每个代码引用是指以目标模块的间接依赖性定义的类型,并且编译 相应模块的源代码生成一个模块存根的模块存根。 在这个阶段,使用模块存根来编译目标模块的源代码来生成目标程序

    METHODS TO ELIMINATE EXTRA MEMORY LOADS WHILE ACCESSING GLOBAL VARIABLES IN POSITION INDEPENDENT CODE
    8.
    发明申请
    METHODS TO ELIMINATE EXTRA MEMORY LOADS WHILE ACCESSING GLOBAL VARIABLES IN POSITION INDEPENDENT CODE 审中-公开
    在位置独立代码中访问全局变量时消除额外的内存负载的方法

    公开(公告)号:WO2015167763A1

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

    申请号:PCT/US2015/024701

    申请日:2015-04-07

    Applicant: GOOGLE INC.

    CPC classification number: G06F8/4434 G06F8/4441 G06F8/447

    Abstract: Methods for reducing memory loads for accessing global variables (globals) when creating executables for position independent (PI) code are disclosed. A first method includes compiling PI code (404), identifying globals (405), and determining whether globals are defined in the executable (407). If a global is not defined in the executable, a definition is created in the executable (409). A second method includes receiving a list of defined globals from instrumented PI code binary (601) and comparing the list with globals in the PI code (607). Memory loads are created for globals that are unlisted (609). A third method includes compiling PI code with special relocations for globals (801) and determining whether globals are defined in the executable (803). If the global is defined in the executable, the special relocation is replaced with a direct load of the global (805). If not, the special relocation is replaced with a two-instruction sequence that loads the global's address and then the global's value (805).

    Abstract translation: 披露了在创建位置无关(PI)代码的可执行文件时减少用于访问全局变量(全局变量)的内存负载的方法。 第一种方法包括编译PI代码(404),识别全局变量(405),以及确定是否在可执行文件(407)中定义全局变量。 如果在可执行文件中未定义全局,则在可执行文件(409)中创建一个定义。 第二种方法包括从仪器化PI代码二进制(601)接收定义的全局变量的列表,并将该列表与PI代码中的全局变量(607)进行比较。 为不公开的全局变量创建内存加载(609)。 第三种方法包括用全局变量的特殊重定位(801)编译PI代码,并确定是否在可执行文件中定义全局变量(803)。 如果在可执行文件中定义了全局,那么特殊重定位将被替换为全局(805)的直接加载。 如果没有,则特殊重定位将替换为加载全局地址,然后加载全局值(805)的双指令序列。

    METHODS AND SYSTEMS FOR FILE PROCESSING
    9.
    发明申请
    METHODS AND SYSTEMS FOR FILE PROCESSING 审中-公开
    文件处理方法与系统

    公开(公告)号:WO2015003452A1

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

    申请号:PCT/CN2013/087830

    申请日:2013-11-26

    Inventor: WU, Yunjia

    CPC classification number: G06F17/30306 G06F8/427 G06F8/447 G06F17/30144

    Abstract: A method and system for file processing may include the steps of scanning a source file, identifying a target code block, and generating a first abstract syntax tree (AST) reflecting the structure of the target code block. The file processing method may further include the steps of identifying a position to place a plugin code, placing the plugin code into the first AST, generating a second AST reflecting the structure of the target code block with the plugin code, and using the write-back interface to write the second AST into the source file.

    Abstract translation: 用于文件处理的方法和系统可以包括扫描源文件,识别目标代码块以及生成反映目标代码块的结构的第一抽象语法树(AST)的步骤。 文件处理方法还可以包括以下步骤:识别放置插件代码的位置,将插件代码放入第一AST中,使用插件代码产生反映目标代码块的结构的第二AST, 返回界面将第二个AST写入源文件。

    SYSTEMS AND METHODS FOR MOBILE APPLICATIONS
    10.
    发明申请
    SYSTEMS AND METHODS FOR MOBILE APPLICATIONS 审中-公开
    用于移动应用的系统和方法

    公开(公告)号:WO2014176587A3

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

    申请号:PCT/US2014035655

    申请日:2014-04-28

    Applicant: UNIV COLUMBIA

    CPC classification number: G06F8/447 G06F8/443 G06F8/52 G06F8/64 G06F9/4552

    Abstract: Systems and methods for improving the performance of mobile applications are disclosed. An exemplary method can include receiving a request for the application, where the request can include target device information. The method can also determine whether the application has been cached before. If the application has not been cached, the method can download the application as a bytecode and process the bytecode into the native code format, using an Ahead-of-time compiler. The method can also provide the application in the native code format to the target device over the network.

    Abstract translation: 公开了用于改善移动应用性能的系统和方法。 示例性方法可以包括接收对应用的请求,其中请求可以包括目标设备信息。 该方法还可以确定应用程序之前是否已被缓存。 如果应用程序尚未被缓存,则该方法可以将该应用程序作为字节码下载,并使用预先编译器将字节码处理为本地代码格式。 该方法还可以通过网络以本地代码格式向目标设备提供应用程序。

Patent Agency Ranking