System and method for stack-based batch evaluation of program instructions
First Claim
Patent Images
1. A computer-implemented method for batch evaluating a program instruction within a stack evaluator, the method comprising:
- generating a call frame associated with the program instruction within a call stack that is associated with a program subroutine which includes the program instruction, wherein the call frame includes one or more expressions specified by the program instruction;
generating a child frame associated with a first expression of the one or more expressions within the call stack;
initiating evaluation of the first expression associated with the child frame;
automatically determining, in response to the initiating, whether the first expression associated with the child frame should be sent for batch processing by an application server based on a particular characteristic in common between the first expression and each of one or more other expressions;
transitioning the call stack into blocked state, in response to determining that the first expression should be sent for batch processing by the application server;
sending the first expression and each of the one or more other expressions to the application server;
in response to the application server processing the first expression associated with the child frame, receiving a modification to the child frame that sets a value of the first expression within the child frame;
unblocking the call stack; and
evaluating the call frame based at least in part on the value of the first expression within the child frame.
8 Assignments
0 Petitions
Accused Products
Abstract
A batching module that inspects call stacks within a stack evaluator to identify current expressions that can be evaluated in batch with other expressions. If such expressions are identified, the corresponding stacks are blocked from further processing and a batch processing request for processing the expressions is transmitted to the application server. The application server processes the expressions in batch and generates a value for each of the expressions. The blocked stacks are then populated with the values for the expressions.
163 Citations
13 Claims
-
1. A computer-implemented method for batch evaluating a program instruction within a stack evaluator, the method comprising:
-
generating a call frame associated with the program instruction within a call stack that is associated with a program subroutine which includes the program instruction, wherein the call frame includes one or more expressions specified by the program instruction; generating a child frame associated with a first expression of the one or more expressions within the call stack; initiating evaluation of the first expression associated with the child frame; automatically determining, in response to the initiating, whether the first expression associated with the child frame should be sent for batch processing by an application server based on a particular characteristic in common between the first expression and each of one or more other expressions; transitioning the call stack into blocked state, in response to determining that the first expression should be sent for batch processing by the application server; sending the first expression and each of the one or more other expressions to the application server; in response to the application server processing the first expression associated with the child frame, receiving a modification to the child frame that sets a value of the first expression within the child frame; unblocking the call stack; and evaluating the call frame based at least in part on the value of the first expression within the child frame. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform batch evaluating a program instruction within a stack evaluator, by performing the steps of:
-
generating a call frame associated with the program instruction within a call stack that is associated with a program subroutine that includes the program instruction, wherein the call frame includes one or more expressions specified by the program instruction; generating a child frame associated with a first expression of the one or more expressions within the call stack; initiating evaluation of the first expression associated with the child frame; automatically determining, in response to the initiating, whether the first expression associated with the child frame should be sent for batch processing by an application server based on a particular characteristic in common between the first expression and each of one or more other expressions; transitioning the call stack into blocked state, in response to determining that the first expression should be sent for batch processing by the application server; sending the first expression and each of the one or more other expressions to the application server; in response to the application server processing the first expression associated with the child frame, receiving a modification to the child frame that sets a value of the first expression within the child frame; unblocking the call stack; and evaluating the call frame based at least in part on the value of the first expression within the child frame. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification