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 program coded within a CPU-independent file;
compiling the program into CPU-dependent instructions during run-time;
writing the CPU-dependent instructions to a non-volatile memory;
wherein the non-volatile memory has write access and wherein the non-volatile memory includes host operating system code that may be used in executing the CPU-dependent instructions; and
executing the CPU-dependent instructions only from the non-volatile memory on a mobile device.
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.
17 Citations
26 Claims
-
1. A computer-implemented method for persisting dynamically generated code, the method comprising:
-
receiving a request for a program coded within a CPU-independent file; compiling the program into CPU-dependent instructions during run-time; writing the CPU-dependent instructions to a non-volatile memory;
wherein the non-volatile memory has write access and wherein the non-volatile memory includes host operating system code that may be used in executing the CPU-dependent instructions; andexecuting the CPU-dependent instructions only from the non-volatile memory on a mobile device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system that persists dynamically generated native code, system comprising:
-
a processor; a volatile memory; a non-volatile memory that include write access; and a virtual machine, comprising; a native code compiler configured to dynamically compile a program written in CPU-independent code that is loaded into the volatile memory into a corresponding native code and to write 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 using operating system code that is stored within the non-volatile memory and to execute the corresponding native code without copying the native code to the volatile memory and without executing any of the native code that was compiled from the volatile memory on a mobile device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-readable storage medium having computer-executable instructions for persisting dynamically generate code, the instructions comprising:
-
compiling a program written in CPU-independent instructions into native code during run-time; writing the native code into a non-volatile memory;
wherein the non-volatile memory has write access; andexecuting the native code directly from the non-volatile memory without executing any portion of the native code from a volatile memory;
wherein the non-volatile memory includes operating system code that is used in executing the native code directly from the non-volatile memory on a mobile device. - View Dependent Claims (23, 24, 25, 26)
-
Specification