Automatic Memory Management on IOS Devices for Cross Compiled Java Applications
Joshua MelconOral Defence Date:
Wednesday, December 7, 2011 - 16:30Location:
Professors Arno Puder and Hui Yang
XMLVM allows developers to write Java programs that use the Apple iOS API and then cross-compile them to native Objective-C programs. To execute these programs on iOS devices the Java Virtual Machine's (JVM) memory managed model must be supported. This project describes two separate ways in which to achieve this goal. Â First, an algorithm which analyzes JVM instructions and automatically inserts code to reference count Java objects to allow for memory management. Â Second, the Boehm garbage collector is embedded into the iOS application to replace the JVM's garbage collector. Â Reference counting and garbage collection are explained, compared, and contrasted within the context of XMLVM. The JVM instruction-based reference counting algorithm is described.