Porting Excelsior JET Runtime to 64-bit platforms is a challenging task: a great deal of work must be done before even a very simple Java program will run. The main problem here is that the JET Runtime code modified or written from scratch during this initial phase would remain untested, and, therefore, its quality would be compromised.
We simply cannot afford that: the maturity of Excelsior JET we have achieved over the last decade is a value we are not ready to lose.
Solution we found
Because many components of the JET Runtime are unmanaged code and cannot be written, say, in Java, we have designed and implemented a new virtualization technology that enables unit testing of unmanaged code.
As of Nov 2010, each new or modified module of the JET Runtime is accompanied with multiple unit tests, which currently run on four virtual platforms (32/64-bit Windows and Linux). Of course, these unit tests are integrated in our automatic build and testing process.
The next issue of this digest will cover our progress in code generation for 64-bit platforms. Stay tuned!