State capture after execution in dependent sequences
First Claim
1. A method by which a computing system executes a dynamic code segment sequence in an environment, the code segment sequence comprising a plurality of sequential code segments and the method comprising the following acts:
- executing a first code segment;
capturing a first environmental state of a first instance of an execution context, the first environmental state representing a state of at least a portion of the first instance of the execution context after the execution of the first code segment is stopped;
executing a second code segment;
writing a second environmental state of a second instance of the execution context, wherein writing the second environmental state of the second instance of the execution context comprises performing the following for at least one context component in the first instance of the execution context;
detecting that a read is to be performed on the at least one context component, and in response creating a proxy context component for the second environmental state of the second instance of the execution context, the proxy context component referencing the at least one context component as captured in the first environmental state of the first instance of the execution context;
detecting that a write is to be performed on the at least one context component, and in response;
copying values from the at least one context component as captured in the first environmental state of the first instance of the execution context to the proxy context component in the second environmental state of the second instance of the execution context;
declassifying the proxy context component in the second environmental state of the second instance of the execution context as a proxy for said at least one context component; and
performing the write on the copied values copied to the declassified proxy context component.
2 Assignments
0 Petitions
Accused Products
Abstract
The execution of a dynamic code segment sequence that includes at least two code segments in sequence. The first code segment is first executed and the corresponding state of the environment is captured. The second code segment is then executed. When the second code segment is later re-executed, the first code segment is not re-executed again. Rather, the environmental state is set to be the captured state that existed when the first code segment originally executed. Then, the second code segment may be executed without spending the resources required to re-run the first code segment. This may be employed at authoring time, or after deployment time.
19 Citations
15 Claims
-
1. A method by which a computing system executes a dynamic code segment sequence in an environment, the code segment sequence comprising a plurality of sequential code segments and the method comprising the following acts:
-
executing a first code segment; capturing a first environmental state of a first instance of an execution context, the first environmental state representing a state of at least a portion of the first instance of the execution context after the execution of the first code segment is stopped; executing a second code segment; writing a second environmental state of a second instance of the execution context, wherein writing the second environmental state of the second instance of the execution context comprises performing the following for at least one context component in the first instance of the execution context; detecting that a read is to be performed on the at least one context component, and in response creating a proxy context component for the second environmental state of the second instance of the execution context, the proxy context component referencing the at least one context component as captured in the first environmental state of the first instance of the execution context; detecting that a write is to be performed on the at least one context component, and in response; copying values from the at least one context component as captured in the first environmental state of the first instance of the execution context to the proxy context component in the second environmental state of the second instance of the execution context; declassifying the proxy context component in the second environmental state of the second instance of the execution context as a proxy for said at least one context component; and performing the write on the copied values copied to the declassified proxy context component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15)
-
-
9. A computer program product comprising one or more hardware memory devices having thereon computer-executable instructions that are structured such that, when executed the computer-executable instructions cause a computing system to execute a dynamic code segment sequence in an environment, the dynamic code segment sequence including a first code segment followed by a second code segment, wherein the execution of the dynamic code segment sequence comprises acts of:
-
executing the first code segment; capturing a first environmental state of a first instance of an execution context, the first environmental state representing a state of at least a portion of the first instance of the execution context after the execution of the first code segment is stopped; executing the second code segment a first time; without re-executing the first code segment, setting the environment to the captured first environmental state and then beginning execution of the second code segment a second time; writing a second environmental state of a second instance of the execution context, wherein writing the second environmental state of the second instance of the execution context comprises performing the following for at least one context component in the first instance of the execution context; detecting that a read is to be performed on the at least one context component, and in response creating a proxy context component for the second environmental state of the second instance of the execution context, the proxy context component referencing the at least one context component as captured in the first environmental state of the first instance of the execution context; detecting that a write is to be performed on the at least one context component, and in response; copying values from the at least one context component as captured in the first environmental state of the first instance of the execution context to the proxy context component in the second environmental state of the second instance of the execution context; declassifying the proxy context component in the second environmental state of the second instance of the execution context as a proxy for said at least one context component; and performing the write on the copied values copied to the declassified proxy context component.
-
Specification