Language compatibility

Timber is also an effective static Java compiler. To evaluate the compatibility with the Java language specification, we have used the Jacks validation suite. The table below lists the results for a number of compilers.

Results of the Jacks validation suite for various compilers
CompilerDateTotalPassedSkippedFailed
Kaffe(1)184014208412
GCJ(1)1841145940342
Sun JDK 1.32064186916179
Sun JDK 1.4 beta 220 november 20012247204917181
Timber 1.621 november 20012247202749171
Jikes(1)29292637100192

Notes:

  1. Results dated as (1) were extracted from the log files in the Jacks distribution. The exact compiler version and Jacks version that were used are not known. Since Jacks is part of the Jikes compiler project, presumably the Jikes version is always recent.
  2. The Timber compiler was run with the --verify and the --strictanalysis options. The --verify option forces all code in the given source file to be compiled (normally Timber tries to compile only what is needed for the main method). The --strictanalysis option tells the compiler not to be smarter than a standard Java compiler when doing used-before-set analysis. Since the programs in the validation suite have the .java extension, Spar language constructs are not recognized.
  3. The Timber compiler does not implement the at-file command-line construct that isn't documented in the Java Language Specification, but is implemented in Sun's compilers, and copied by a number of others. This accounts for 25 tests skipped by Timber.

Last modified Sat May 13 15:50:56 2017 UT by Kees van Reeuwijk.