We describe the design and implementation of lambda-JVM, a functional
representation of Java bytecode that makes data flow explicit,
verification simple, and that is well-suited for translation into
lower-level representations such as those used in optimizing
compilers. It is a good alternative to stack-based Java bytecode for
virtual machines or ahead-of-time compilers which optimize methods and
produce native code. We use lambda-JVM as one component in a
sophisticated type-preserving compiler for Java class files. Though
our implementation is incomplete, preliminary measurements of both
compile and run times are promising.
- In Proc. 5th Conf. on Systemics, Cybernetics, and
Informatics, Orlando, FL.