Reference protection mechanisms, which control the propagation of references, are commonly used to isolate and to provide protection for components that execute within a shared runtime. These mechanisms often incur an overhead for maintaining the isolation or introduce inefficiencies in the communication between the components. This paper proposes a novel approach for component isolation that avoids runtime overheads by controlling references at compile time. We use the proposed approach to build S-RVM, a Java Virtual Machine based on JikesRVM, which enhances JikesRVM’s security by isolating the VM from the application. Our experiments show that on the average S-RVM incurs no performance overhead when executing optimised code.Yuval Yaron, K...