ISOLATED HEAPS
    1.
    发明申请
    ISOLATED HEAPS 审中-公开

    公开(公告)号:US20200097392A1

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

    申请号:US16380380

    申请日:2019-04-10

    Applicant: Apple Inc.

    Inventor: Filip J. Pizlo

    Abstract: One embodiment provides for a non-transitory machine-readable medium storing instructions to cause one or more processors to perform operations comprising receiving an instruction to dynamically allocate memory for an object of a data type and dynamically allocating memory for the object from a heap instance that is specific to the data type for the object, the heap instance including a memory allocator for the data type, the memory allocator generated at compile time for the instruction based on a specification of the data type for the heap instance.

    METHODS AND APPARATUSES FOR AUTOMATIC TYPE CHECKING VIA POISONED POINTERS
    2.
    发明申请
    METHODS AND APPARATUSES FOR AUTOMATIC TYPE CHECKING VIA POISONED POINTERS 有权
    用于通过点火点自动检测的方法和装置

    公开(公告)号:US20130205285A1

    公开(公告)日:2013-08-08

    申请号:US13719068

    申请日:2012-12-18

    Applicant: APPLE INC.

    Inventor: Filip J. Pizlo

    Abstract: A method and an apparatus that modify pointer values pointing to typed data with type information are described. The type information can be automatically checked against the typed data leveraging hardware based safety check mechanisms when performing memory access operations to the typed data via the modified pointer values. As a result, hardware built in logic can be used for a broad class of programming language safety check when executing software codes using modified pointers that are subject to the safety check without executing compare and branch instructions in the software codes.

    Abstract translation: 描述了使用类型信息修改指向类型数据的指针值的方法和装置。 可以通过经修改的指针值对键入的数据执行存储器访问操作时,根据类型数据自动检查类型信息,从而利用基于硬件的安全检查机制。 因此,使用经过安全检查的修改指针执行软件代码时,内置的逻辑硬件可用于广泛的编程语言安全检查,而无需执行软件代码中的比较和分支指令。

    VERIFIABLE MACHINE CODE
    4.
    发明申请

    公开(公告)号:US20230084495A1

    公开(公告)日:2023-03-16

    申请号:US17694002

    申请日:2022-03-14

    Applicant: Apple Inc.

    Inventor: Filip J. Pizlo

    Abstract: Aspects and features include a structure for a program directed to a target computing device and metadata that can be used by a verifier in the target computing device. The verifier can quickly and efficiently apply verification rules to identified sections of the program to determine whether the program is safe to execute by the target computing device. In some examples, the target computing device uses the verifier to identify, using the metadata, verifiable sections of instructions that violate execution safety policies. The verifier can apply verification rules to the verifiable sections to determine whether to execute each verifiable section despite instructions in the verifiable section violating execution safety policies. The program and the metadata can be generated, as an example, by a compiler from source code, and transmitted or otherwise distributed to target computing devices.

    Allocation of memory within a data type-specific memory heap

    公开(公告)号:US11182283B2

    公开(公告)日:2021-11-23

    申请号:US16380380

    申请日:2019-04-10

    Applicant: Apple Inc.

    Inventor: Filip J. Pizlo

    Abstract: One embodiment provides for a non-transitory machine-readable medium storing instructions to cause one or more processors to perform operations comprising receiving an instruction to dynamically allocate memory for an object of a data type and dynamically allocating memory for the object from a heap instance that is specific to the data type for the object, the heap instance including a memory allocator for the data type, the memory allocator generated at compile time for the instruction based on a specification of the data type for the heap instance.

    Runtime optimization using meta data for dynamic programming languages
    6.
    发明授权
    Runtime optimization using meta data for dynamic programming languages 有权
    运行时优化使用元数据进行动态编程语言

    公开(公告)号:US09027010B2

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

    申请号:US13725281

    申请日:2012-12-21

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that optimize operations for a key among a collection of key indexed data structures using meta data describing properties of the key with respect to the collection of data structures are described. The meta data may correspond to a cache dynamically updated to indicate invariants which are true for the key in a current state of the collection of data structures. Expensive calculations to search through the collection of data structures for the key may be avoided. For example, costly lookup operations over a collection of data structures may not be required at all if a key is known to always (or to never) reference certain specific values, or for these values to have certain meta-properties, in any of the collection of data structure globally throughout a system at a current state.

    Abstract translation: 描述了使用描述关于数据结构的集合的属性的元数据的关键索引数据结构的集合中的密钥优化操作的方法和装置。 元数据可以对应于动态更新的高速缓存,以指示在数据结构的收集的当前状态中对于密钥是真实的不变量。 可以避免用于搜索密钥数据结构收集的昂贵的计算。 例如,如果已知密钥总是(或从不)引用某些特定值,或者对于这些值具有某些元属性,则可以根本不需要对数据结构集合进行昂贵的查找操作 在当前状态下在整个系统中全局收集数据结构。

    Methods and apparatuses for automatic type checking via poisoned pointers
    7.
    发明授权
    Methods and apparatuses for automatic type checking via poisoned pointers 有权
    通过中毒指针自动检查的方法和装置

    公开(公告)号:US09003384B2

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

    申请号:US13719068

    申请日:2012-12-18

    Applicant: Apple Inc.

    Inventor: Filip J. Pizlo

    Abstract: A method and an apparatus that modify pointer values pointing to typed data with type information are described. The type information can be automatically checked against the typed data leveraging hardware based safety check mechanisms when performing memory access operations to the typed data via the modified pointer values. As a result, hardware built in logic can be used for a broad class of programming language safety check when executing software codes using modified pointers that are subject to the safety check without executing compare and branch instructions in the software codes.

    Abstract translation: 描述了使用类型信息修改指向类型数据的指针值的方法和装置。 可以通过经修改的指针值对键入的数据执行存储器访问操作时,根据类型数据自动检查类型信息,从而利用基于硬件的安全检查机制。 因此,使用经过安全检查的修改指针执行软件代码时,内置的逻辑硬件可用于广泛的编程语言安全检查,而无需执行软件代码中的比较和分支指令。

    RUNTIME OPTIMIZATION USING META DATA FOR DYNAMIC PROGRAMMING LANGUAGES
    8.
    发明申请
    RUNTIME OPTIMIZATION USING META DATA FOR DYNAMIC PROGRAMMING LANGUAGES 有权
    使用META数据进行动态编程语言的运行时优化

    公开(公告)号:US20130205286A1

    公开(公告)日:2013-08-08

    申请号:US13725281

    申请日:2012-12-21

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that optimize operations for a key among a collection of key indexed data structures using meta data describing properties of the key with respect to the collection of data structures are described. The meta data may correspond to a cache dynamically updated to indicate invariants which are true for the key in a current state of the collection of data structures. Expensive calculations to search through the collection of data structures for the key may be avoided. For example, costly lookup operations over a collection of data structures may not be required at all if a key is known to always (or to never) reference certain specific values, or for these values to have certain meta-properties, in any of the collection of data structure globally throughout a system at a current state.

    Abstract translation: 描述了使用描述关于数据结构的集合的属性的元数据的关键索引数据结构的集合中的密钥优化操作的方法和装置。 元数据可以对应于动态更新的高速缓存,以指示在数据结构的收集的当前状态中对于密钥是真实的不变量。 可以避免用于搜索密钥数据结构收集的昂贵的计算。 例如,如果已知密钥总是(或从不)引用某些特定值,或者对于这些值具有某些元属性,则可能不需要对数据结构集合进行昂贵的查找操作 在当前状态下在整个系统中全局收集数据结构。

    Allocation of memory within a data type-specific memory heap

    公开(公告)号:US11880298B2

    公开(公告)日:2024-01-23

    申请号:US17529225

    申请日:2021-11-17

    Applicant: Apple Inc.

    Inventor: Filip J. Pizlo

    CPC classification number: G06F12/023 G06F12/082 G06F12/0826 G06F2212/70

    Abstract: One embodiment provides for a non-transitory machine-readable medium storing instructions to cause one or more processors to perform operations comprising receiving an instruction to dynamically allocate memory for an object of a data type and dynamically allocating memory for the object from a heap instance that is specific to the data type for the object, the heap instance including a memory allocator for the data type, the memory allocator generated at compile time for the instruction based on a specification of the data type for the heap instance.

Patent Agency Ranking