@InProceedings{yu02:bincomp,
  author =       {Dachuan Yu and Zhong Shao and Valery Trifonov},
  title =        {Supporting Binary Compatibility with Static Compilation},
  booktitle =    {USENIX 2nd Java[TM] Virtual Machine Research and
Technology Symposium (JVM'02)},
  year =         2002,
  month =        {August},
  abstract =         {
  There is an ongoing debate
  in the Java community on whether statically compiled implementations
  can meet the Java specification on dynamic features such as
  binary compatibility.
  Static compilation is sometimes desirable because it provides
  better code optimization, smaller memory footprint, more robustness, and
  better intellectual property protection.
  Unfortunately, none of the existing static Java compilers support
  binary compatibility, because it incurs unacceptable performance overhead.
  In this paper, we propose a simple yet effective solution which handles
  all of the binary-compatibility cases specified by the Java Language
  Specification. Our experimental results using an implementation in the
  GNU Java compiler
  shows that the performance penalty is on average less than 2\%.
  Besides solving the problem for static compilers, it's also possible to
  apply the technique we used in JIT compilers to achieve an optimal
  balance point between static and dynamic compilation.}
}
