Pattern extraction from executable code in message passing environments
First Claim
1. A method performed by a computer processor, said method comprising:
- compiling source code into executable code;
during said compiling, identifying a first hold point, said first hold point being a dependency on a first input received from a first source;
for said first hold point, identifying a first pattern defining said first input for said first hold point;
creating a first extractable annotation defining said first pattern by annotating said executable code; and
storing said first extractable annotation, said executable code being executable on a second computer processor with said first extractable annotation.
2 Assignments
0 Petitions
Accused Products
Abstract
Processes in a message passing system may be launched when messages having data patterns match a function on a receiving process. The function may be identified by an execution pointer within the process. When the match occurs, the process may be added to a runnable queue, and in some embodiments, may be raised to the top of a runnable queue. When a match does not occur, the process may remain in a blocked or non-executing state. In some embodiments, a blocked process may be placed in an idle queue and may not be executed until a process scheduler determines that a message has been received that fulfills a function waiting for input. When the message fulfills the function, the process may be moved to a runnable queue.
-
Citations
26 Claims
-
1. A method performed by a computer processor, said method comprising:
-
compiling source code into executable code; during said compiling, identifying a first hold point, said first hold point being a dependency on a first input received from a first source; for said first hold point, identifying a first pattern defining said first input for said first hold point; creating a first extractable annotation defining said first pattern by annotating said executable code; and storing said first extractable annotation, said executable code being executable on a second computer processor with said first extractable annotation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of annotating executable code performed by a computer processor, said method comprising:
-
compiling source code into executable code; during said compiling, identifying a first hold point in said source code, said first hold point being a location in said source code where a process waits for a message to continue execution; identifying a pattern of data expected to fulfill said hold point so that said process continues execution; said pattern comprising;
predefined data constants and references to data created at runtime;for said predefined data constants, extracting said predefined data constants from said source code and annotating said executable code to include said predefined data constants as associated with said first hold point; for said references to data created as runtime, extracting said references and annotating said executable code with a first extractable annotation, said first extractable annotation including-said references as associated with said first hold point; said executable code being executable on a second computer processor with said first extractable annotation.
-
-
25. A method executed at runtime performed by a computer processor, said method comprising:
-
executing executable code until reaching a first hold point, said first hold point defining a set of conditions satisfied by a message received from a source; analyzing said executable code to extract a pattern of data expected from said source, said pattern comprising predefined data constants defined in said executable code; and storing said pattern in said executable code as a first extractable annotation, said executable code being executable on a second computer processor with said first extractable annotation. - View Dependent Claims (26)
-
Specification