IP Library Granted Patent US 12,379,981
Granted Patent B2
US 12,379,981 · App. 18/746,709 · Granted Aug 5, 2025

Thread weave for cross-instruction set architectureprocedure calls

Inventors: Jonathan Lindsey Tate (Beltram, TX); Gregory Michael Link (Charlotte, NC)
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,379,981
App. No.
18/746,709
Granted
Aug 5, 2025
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 (20)

1. A method of executing an application comprising:

executing a first function of an application that has first, second and third functions, the first function being a main function, on a first processor with at least one of first central processing unit (CPU) instruction set architecture (ISA) objects that are compiled to the first processor, the main function causing sequential execution of:

a first remote proxy call (RPC) on the first processor with at least one of the first CPU ISA objects, the first function calling the first RPC while a second CPU is paused;

the third function on a second processor with at least one of second CPU ISA objects that are compiled to the second processor, the first RPC calling the third function and pausing the first CPU;

the second RPC on the second processor with at least one of the second CPU ISA objects, the third function calling the second RPC while a first CPU is paused; and

the second function on the first processor with at least one of the first CPU ISA objects, wherein the application has a data structure that is used by functions of the first and second CPU ISA objects, the second RPC calling the second function and pausing the second CPU.

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 , wherein the first function uses the data structure.

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

6. A non-transitory computer-readable medium having stored thereon a set of instructions that are executable by a processor to carry out a method comprising:

executing a first function of an application that has first, second and third functions, the first function being a main function, on a first processor with at least one of first central processing unit (CPU) instruction set architecture (ISA) objects that are compiled to the first processor, the main function causing sequential execution of:

a first remote proxy call (RPC) on the first processor with at least one of the first CPU ISA objects, the first function calling the first RPC while a second CPU is paused;

the third function on a second processor with at least one of second CPU ISA objects that are compiled to the second processor, the first RPC calling the third function and pausing the first CPU;

the second RPC on the second processor with at least one of the second CPU ISA objects, the third function calling the second RPC while a first CPU is paused; and

the second function on the first processor with at least one of the first CPU ISA objects, wherein the application has a data structure that is used by functions of the first and second CPU ISA objects, the second RPC calling the second function and pausing the second CPU.

7. The non-transitory computer-readable medium of claim 6 , wherein the first function points to the second function.

8. The non-transitory computer-readable medium of claim 6 , wherein the first function points to the first RPC.

9. The non-transitory computer-readable medium of claim 6 , wherein the first function uses the data structure.

10. The non-transitory computer-readable medium of claim 6 , wherein the third function uses the data structure.

Assignments (3)
SECURITY INTEREST Recorded Nov 3, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073480/0540 →
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073387/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2024
From: TATE, JONATHAN LINDSEY; LINK, GREGORY MICHAEL
To: MAGIC LEAP, INC.
Reel/Frame 067772/0479 →