Release Notes: The compiler now detects constructors calling each other in never-ending cycles, classes that subclass their own member classes or subclasses of their member classes, and classes that implement their own member interfaces or subinterfaces of their member interfaces, or interfaces that extend their own member interfaces or subinterfaces of their member interfaces. Determination of member classes is now according to the access rules of the Java Language Specification. Code generation of private or protected constructors of inner classes now works in all cases, and code generation for anonymous classes is completely rewritten. Now only 7 of the 1607 jacks compiler test suite tests fail, a record among all known Java compilers.
Release Notes: Inner class compilation no longer violates JVM access checks by generating accessor methods, dead code analysis improvements, improved handling of compile-time constants, improved resolution of methods and member class types, and only 34 failures are left on the Jacks test suite.