Java and the Java Virtual Machine (R. Stärk, J. Schmid, E. Börger)

Remarks and history for the executables models

Version 1.03 is provided by the CD-ROM. The current version can be downloaded from the main page.

Remarks for version 1.04

Compile-time constants
Compile-time constant expressions are not substituted with their corresponding value as it is required in the JLS 2.0. This might lead to unnecessary class initialization as observed by Kurt Stenzel. In our implementation, only literals are treated as compile-time constants.
Strings
Same strings share the same reference in our models. This is not according to the JLS 2.0 where same string literals share only the same reference (as observed by Kurt Stenzel). However, this is only a problem, if you compare strings with the == operator.

History

May 28, 2001 (version 1.04)
Fixed the following issues: After applying the patch, delete the file examples/java/Exercise8_2_4/no_out and the directory examples/java/Exercise8_4_3.
May 7, 2001 (version 1.03)
Support for "for"-statement, post-decrement and post-increment operators for local variables. This version is on the CD-ROM.
May 3, 2001 (version 1.02)
Improved performance of Java-GUI. Added some larger examples.
May 2, 2001 (version 1.01)
Java-ASM and Compiler-ASM support now a.length and a.clone() if a is an array. Fixed some bugs about array compatibility.
Home


ETH Home May 2001
Responsible
ETH Logo