IP Library Granted Patent US 12,164,978
Granted Patent B2
US 12,164,978 · App. 17/259,020 · Granted Dec 10, 2024

Thread weave for cross-instruction set architecture procedure calls

Inventors: Jonathan Lindsey Tate (Beltram, TX); Gregory Michael Link (Plantation, FL)
Assignee: Magic Leap, Inc.
G06F9/547G06F8/47
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,164,978
App. No.
17/259,020
Granted
Dec 10, 2024
Kind
B2
Abstract

The invention provides a method of initiating code including (i) storing an application having first, second and third functions, the first function being a main function that calls the second and third functions to run the application, (ii) compiling the application to first and second heterogeneous processors to create first and second central processing unit (CPU) instruction set architecture (ISA) objects respectively, (iii) pruning the first and second CPU ISA objects by removing the third function from the first CPU ISA objects and removing first and second functions from the second CPU ISA objects, (iv) proxy inserting first and second remote procedure calls (RPC's) in the first and second CPU ISA objects respectively, and pointing respectively to the third function in the second CPU ISA objects and the second function in the first CPU ISA objects, and (v) section renaming the second CPU ISA objects to common application library.

Claims (21)

1. A method of initiating code comprising:

storing an application in a memory, the application having first, second and third functions, the first function being a main function that calls the second and third functions to run the application;

compiling the application to first and second heterogeneous processors to create first and second central processing unit (CPU) instruction set architecture (ISA) objects respectively;

pruning the first and second CPU ISA objects by removing the third function from the first CPU ISA objects and removing first and second functions from the second CPU ISA objects;

proxy inserting first and second remote procedure calls (RPC's) in the first and second CPU ISA objects respectively, and pointing respectively to the third function in the second CPU ISA objects and the second function in the first CPU ISA objects;

section renaming the second CPU ISA objects to create a common application library of the first and second CPU ISA objects; and

executing the main function on the first processor with at least one of the first CPU ISA objects, the main function causing sequential execution of:

the first RPC on the first processor with at least one of the first CPU ISA objects;

the third function on the second processor with at least one of the second CPU ISA objects;

the second RPC on the second processor with at least one of the second CPU ISA objects; and

the second function on the first processor with at least one of the first CPU ISA objects.

2. The method of claim 1 , wherein the first function points to the second function.

3. The method of claim 1 , wherein the first function points to the first RPC.

4. The method of claim 1 , further comprising:

replacing the third function in the first CPU ISA objects and the second function in the second CPU ISA objects with the first and second RPC's respectively.

5. The method of claim 1 , wherein the application has a data structure that is used by functions of the first and second CPU ISA objects.

6. The method of claim 5 , wherein during the compiling (ii) the data structure is compiled to the second processor.

7. The method of claim 6 , wherein during the pruning (iii) the data structure is removed from the second CPU ISA objects.

8. The method of claim 5 , wherein the first function uses the data structure.

9. The method of claim 5 , wherein the third function uses the data structure.

10. The method of claim 9 , wherein the third function in the second CPU ISA objects points to the data structure in the first CPU ISA objects.

Assignments (4)
SECURITY INTEREST Recorded Oct 29, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073438/0463 →
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2021
From: TATE, JONATHAN LINDSEY; LINK, GREGORY MICHAEL
To: MAGIC LEAP, INC.
Reel/Frame 057123/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2021
From: TATE, JONATHAN LINDSEY; LINK, GREGORY MICHAEL
To: MAGIC LEAP, INC.
Reel/Frame 054926/0779 →
Continuity (2)
Provisional Application 62696132 · Jul 10, 2018
Related Publication 20210271484A1 · Sep 2, 2021