Automatic Memory Management on IOS Devices for Cross Compiled Java Applications


Joshua Melcon

Oral Defence Date: 

Wednesday, December 7, 2011 - 16:30


HH 301


4:30 PM


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.

Joshua Melcon

XMLVM, automatic reference counting, garbage collection, Cross-compilation to iPhone