System and method for persisting dynamically generated code in a directly addressable and executable storage medium
First Claim
1. A computer-implemented method for persisting dynamically generated code, the method comprising:
- receiving a request for a method coded within a CPU-independent file;
compiling the method into CPU-dependent instructions during run-time;
storing the CPU-dependent instructions in a non-volatile memory; and
executing the CPU-dependent instructions.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed at a virtual machine environment operating on portable devices with limited resources. The virtual machine environment includes a method for compiling an intermediate language into native code wherein the native code is stored in a directly addressable and executable storage medium, such as flash memory. A portion of the native code is written to a cache resident in volatile memory during compiling. The cache is written to the directly addressable and executable storage medium. The cache may be sized in relation to a block size associated with the directly addressable and executable storage medium. A metadata map is maintained and associates a physical address at which the native code is stored in the storage medium with the method. The native code is persisted by storing the metadata map in the storage medium and associating the metadata map with the method.
43 Citations
26 Claims
-
1. A computer-implemented method for persisting dynamically generated code, the method comprising:
-
receiving a request for a method coded within a CPU-independent file;
compiling the method into CPU-dependent instructions during run-time;
storing the CPU-dependent instructions in a non-volatile memory; and
executing the CPU-dependent instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system that persists dynamically generated native code, the system comprising:
-
a processor;
a volatile memory;
a non-volatile memory; and
a virtual machine, comprising;
a native code compiler configured to dynamically compile a method written in CPU-independent code into a corresponding native code and to store the corresponding native code in the non-volatile memory; and
an execution engine configured to directly address the corresponding native code stored in the non-volatile memory and to execute the corresponding native code without copying the native code to the volatile memory. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-readable medium having computer-executable instructions for persisting dynamically generate code, the instructions comprising:
-
compiling a method written in CPU-independent instructions into native code during run-time;
storing the native code into a non-volatile memory; and
executing the native code directly from the non-volatile memory. - View Dependent Claims (23, 24, 25, 26)
-
Specification