Code optimization across interfaces
First Claim
Patent Images
1. A method comprising:
- under control of a processor configured with computer-executable instructions, accessing code for optimization, the code for optimization including at least one method call associated with a fact in a system;
accessing interface code and abstract implementation data;
using the abstract implementation data to manipulate an abstract state, the abstract state including one or more facts representing the system called by the code for optimization across an interface associated with the interface code; and
performing code transformations on the code for optimization based at least in part on the abstract implementation data and at least one of the one or more facts included in the abstract state, wherein performing code transformations on the code for optimization comprises;
determining if the fact in the system is a known fact represented in the abstract state;
in an event the fact in the system is a known fact represented in the abstract state, retrieving the known fact while not issuing a call to the system across the interface; and
in an event the fact in the system is not a known fact represented in the abstract state, issuing a call to the system across the interface.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of optimizing code which invokes methods on a system across an interface is described. High level information relating to the system is accessed and this information is used in performing code transformations in order to optimize the code.
73 Citations
18 Claims
-
1. A method comprising:
-
under control of a processor configured with computer-executable instructions, accessing code for optimization, the code for optimization including at least one method call associated with a fact in a system; accessing interface code and abstract implementation data; using the abstract implementation data to manipulate an abstract state, the abstract state including one or more facts representing the system called by the code for optimization across an interface associated with the interface code; and performing code transformations on the code for optimization based at least in part on the abstract implementation data and at least one of the one or more facts included in the abstract state, wherein performing code transformations on the code for optimization comprises; determining if the fact in the system is a known fact represented in the abstract state; in an event the fact in the system is a known fact represented in the abstract state, retrieving the known fact while not issuing a call to the system across the interface; and in an event the fact in the system is not a known fact represented in the abstract state, issuing a call to the system across the interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. One or more device-readable media with device-executable instructions for performing operations comprising:
-
accessing code for optimization, the code for optimization including at least one method call associated with a fact in a system; accessing interface code and abstract implementation data; using the abstract implementation data to manipulate an abstract state, the abstract state maintaining one or more facts known to be true to the system called by the code for optimization across an interface associated with the interface code; and performing code transformations on the code for optimization based at least in part on the abstract implementation data and at least one of the one or more facts maintained in the abstract state, wherein performing code transformations on the code for optimization comprises; determining if the fact in the system is a known fact represented in the abstract state; in an event the fact in the system is a known fact represented in the abstract state, retrieving the known fact while not issuing a call to the system across the interface; and in an event the fact in the system is not a known fact represented in the abstract state, issuing a call to the system across the interface. - View Dependent Claims (14, 15, 16)
-
-
17. A method comprising:
-
under control of a processor configured with computer-executable instructions, identifying a plurality of method calls in computer program code which are available for invocation across an interface between an application and a system; generating abstract implementation data and an abstract state such that invocation across the interface for one or more of the plurality of method calls is eliminated, wherein the abstract state represents one or more known data elements in the system; identifying, in the abstract implementation data, at least one statement defining an effect of one of the plurality of method calls on a fact in the system; determining if the fact in the system is a known data element represented in the abstract state; in an event the fact in the system is a known data element represented in the abstract state, retrieving the known data element while not issuing a call to the system across the interface; and in an event the fact in the system is absent as a known data element represented in the abstract state, issuing a call to the system across the interface. - View Dependent Claims (18)
-
Specification