Initialization of objects is commonly handled by user code, often in special routines known as constructors. This applies even in a virtual machine with multiple concurrent execution engines that all share the same heap. But for a language where run-time values play a role in the type system, no user defined code can be allowed to use a field before it is initialized. This paper presents an approach which ensures that user code will not see uninitialized fields. It uses a dual-mode execution model to maintain a reasonable level of performance.
Icooolps '07: Proceedings of the Second Ecoop Workshop on Implementation, Compilation, Optimization of Object Oriented Languages, Programs and Systems, 2007, p. 39-46
Main Research Area:
Forschungsberichte Der Fakultät Iv - Elektrotechnik Und Informatik