Compiling the entire OpenJDK class library into a bootimage revealed some corner cases which broke the compiler, including synchronization in a finally block and gotos targeting the first instruction of an unsynchronized method.