Patent ID: 6275985
Filing Date: 2001-08-14
Classification: G06F

Abstract:
A method for developing a virtual machine using a first compiler and then compiling the virtual machine with a second compiler that provides direct support for garbage collection, the method comprising:providing a set of proxy object methods defining operations on proxy objects, the proxy objects being used to identify data objects that are referenced by pointers in a system stack for purposes of garbage collection;developing the virtual machine using the set of proxy object methods and the first compiler, so that during execution of the virtual machine, pointers in the system stack point indirectly to the data objects through the proxy objects;wherein the proxy objects contain pointers to the data objects, so that garbage collection operations can identify the data objects referenced by the pointers in the system stack by examining the proxy objects;providing the second compiler that facilitates identifying data objects referenced by the pointers in the system stack without using proxy objects; andcompiling the virtual machine using the second compiler, wherein compiling the virtual machine using the compiler includes creating a stack map, the stack map indicating which items within a stack frame in the system stack contain pointers to the data objects, so that during execution of the virtual machine, the pointers within the system stack point directly to the data objects without going through the proxy objects, and so that the set of proxy object methods manipulate the pointers within the system stack directly instead of manipulating the proxy objects.