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.