TECHNIQUES FOR PERFORMING DYNAMIC LINKING
    2.
    发明申请

    公开(公告)号:US20180349156A1

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

    申请号:US15817103

    申请日:2017-11-17

    Applicant: Apple Inc.

    Abstract: Disclosed herein are techniques for performing dynamic linking at a computing device. According to some embodiments, the techniques can involve receiving a request to perform a dynamic linking of a software application. The request can be issued in conjunction with installing the software application, launching the software application for a first time, and so on. In response to the request, a closure file can be generated based on different properties associated with the software application (e.g., environment variables, object files, etc.). Notably, the closure file is generated “out-of-process” relative to the execution environment of the software application. Additionally, the techniques can involve caching the closure file such that the closure file is accessible to the software application. In turn, the software application can utilize the closure file at launch/execution times to reduce a number of dynamic linking operations that otherwise are required to take place using conventional approaches.

    Annotating dynamic libraries for multi-OS applications

    公开(公告)号:US10983803B2

    公开(公告)日:2021-04-20

    申请号:US16104844

    申请日:2018-08-17

    Applicant: Apple Inc.

    Abstract: Embodiments described herein provide for system and methods to enable an operating environment that supports multi-OS applications. One embodiment provides for a non-transitory machine-readable medium storing instructions to perform operations comprising parsing a set of object files to generate a graph of code and data for each object file, group elements from the graphs of code and data into a master graph of elements, and generating an annotated output file including compiled code for the dynamic library, the annotated output file having a header and a first set of load commands, the first set of load commands to specify multiple target platforms for the dynamic library.

    Techniques for performing dynamic linking

    公开(公告)号:US10606611B2

    公开(公告)日:2020-03-31

    申请号:US15817103

    申请日:2017-11-17

    Applicant: Apple Inc.

    Abstract: Disclosed herein are techniques for performing dynamic linking at a computing device. According to some embodiments, the techniques can involve receiving a request to perform a dynamic linking of a software application. The request can be issued in conjunction with installing the software application, launching the software application for a first time, and so on. In response to the request, a closure file can be generated based on different properties associated with the software application (e.g., environment variables, object files, etc.). Notably, the closure file is generated “out-of-process” relative to the execution environment of the software application. Additionally, the techniques can involve caching the closure file such that the closure file is accessible to the software application. In turn, the software application can utilize the closure file at launch/execution times to reduce a number of dynamic linking operations that otherwise are required to take place using conventional approaches.

    PAGE-IN LINKING
    8.
    发明公开
    PAGE-IN LINKING 审中-公开

    公开(公告)号:US20230393824A1

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

    申请号:US18167001

    申请日:2023-02-09

    Applicant: Apple Inc.

    CPC classification number: G06F8/54

    Abstract: A dynamic linking system can be designed to dynamically resolve symbol references of pages associated with executable code as the pages are paged into virtual memory. The operating system can include a dynamic linker that uses metadata in the pages to determine symbol references that reference other code or values. Other code can include code in shared libraries. The dynamic linker can generate a data structure containing the symbol references in a small and dense format. The dynamic linker can send the data structure and other relevant data to the kernel once the symbol references have been identified. The kernel can perform the functions related to resolving the symbol references. For example, the kernel can resolve the symbol by determining a pointer value for the symbol, wherein the pointer value can be used to point to code or values. The kernel can resolve the symbol references and store the data structure, which contains the resolved symbol references.

    Threaded linking pointer mechanism

    公开(公告)号:US11308160B2

    公开(公告)日:2022-04-19

    申请号:US16146535

    申请日:2018-09-28

    Applicant: Apple Inc.

    Abstract: One embodiment provides for a computer-implemented method comprising generating a linked list table including a first component having linking data to be stored in a table data structure for one or more rebase and bind operations and second a component having instructions to implement the table data structure to perform the rebase and bind operations according to a linked list chain and executing the instructions in the second component of the linked list table to perform the one or more rebase and bind operations based on the linked list chain.

Patent Agency Ranking