IP Library Granted Patent US 9,552,223
Granted Patent B2
US 9,552,223 · App. 14/501,130 · Granted Jan 24, 2017

Post-return asynchronous code execution

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 9,552,223
App. No.
14/501,130
Granted
Jan 24, 2017
Kind
B2
Abstract

A method, system, and computer program product for the prioritization of code execution. The method includes accessing a thread in a context containing a set of code instances stored in memory; identifying sections of the set of code instances that correspond to deferrable code tasks; executing the thread in the context; determining that the thread is idle; and executing at least one of the deferrable code tasks. The deferrable code task is executed within the context and in response to determining that the thread is idle.

Claims (17)

1. A method for prioritizing code execution without maintaining reference counts and without switching contexts, comprising:

accessing a thread on a processor, wherein the thread is in a context containing a set of code instances;

identifying sections of the set of code instances that correspond to deferrable code tasks, wherein identifying sections of the set of code instances comprises:

receiving an input code instance;

identifying a code task within the input code instance;

receiving a determination that the identified code task is deferrable, wherein receiving the determination that the identified code task is deferrable includes utilizing one or more characterization factors, wherein the one or more characterization factors are selected from a group consisting of: informational data logging, housekeeping, local variable clean-up, local variable freeing, memory de-allocation, non-local data affected, and whether a return function is affected; and

decorating the code task as deferrable;

executing the thread in the context;

determining that the thread is idle; and

executing, in the context, at least one of the deferrable code tasks, wherein the deferrable code task is executed within the context and in response to determining that the thread is idle.

2. The method of claim 1 , wherein receiving the determination that the identified code task is deferrable further includes receiving the determination from an author.

3. The method of claim 1 , wherein determining whether the thread is idle includes determining that the thread is waiting on a response from a computer component.

4. The method of claim 1 , wherein the determining that the thread is idle is in response to a determination that no code tasks remain on the thread.

5. The method of claim 1 , further comprising:

determining that the thread changes from idle to busy;

determining that a non-deferrable code task is executing in response to the thread changing from idle to busy; and

prioritizing, in response to determination that a non-deferrable code task is executing, execution of received deferrable and non-deferrable code tasks, wherein a deferrable code task is executed in response to determining that no non-deferrable code tasks are executing.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MAPLEBEAR INC.
Reel/Frame 055155/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: FONTENOT, NATHAN; JENNINGS, ROBERT C., JR.; SCHOPP, JOEL H.; STROSAKER, MICHAEL T.; WILSON, GEORGE C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033846/0738 →