Related articles |
---|
dev/misc/Salsa - Java Bytecode to C compiler with dynamic loading capa muller@irisa.fr (Gilles Muller) (1997-01-07) |
From: | Gilles Muller <muller@irisa.fr> |
Newsgroups: | comp.compilers |
Date: | 7 Jan 1997 12:36:51 -0500 |
Organization: | Compilers Central |
Keywords: | Java, C, translator |
SUBJECT
dev/misc/Salsa - Java Bytecode to C compiler with dynamic loading
capability
URL
http://www.irisa.fr/lande/consel/salsa/salsa.html
DESCRIPTION
Bonne annee a tous/Happy new year,
We are proud to announce the availability of Salsa. Salsa is a Java
environment that includes a compiler from Java bytecode to C and a
Java interpreter. While Salsa is aimed at applications that are
statically configured, such as the Javac compiler, it is also designed
to allow code to be dynamically loaded in an already compiled
application. This novel feature is introduced by integrating our
bytecode interpreter in the runtime library. Data structures between
the Java compiled code and the interpreter are compatible and data
allocated by the interpreter do not conflict with data allocated by
the compiled code. Salsa is written in C and provides an efficient and
flexible solution for the execution of Java applications.
Salsa's compiler generates C code that can be compiled into efficient
native code. To do so, several transformations have been
implemented. First, the stack is statically evaluated away. Second,
virtual method calls are transformed, when possible, into static
(i.e., procedure) calls using a Class Hierarchy Analysis (CHA). For
these virtual calls, type checks are also eliminated. Finally, Salsa
implements several other more conventional optimizations for
object-oriented languages such as method inlining.
PLATFORM
SunOS,Linux, Solaris (soon)
CONTACT
salsa@irisa.fr
AUTHORS
Gilles Muller
Charles Consel
Baraba Moura
Fabrice Bellard
Salsa has been developed within the Partial Evaluation group at IRISA
whose focus is to develop Adaptive Software. Adaptive software is an
approach aimed at reconciling generality and performance. It is based
on a program transformation technique called partial evaluation which
consists of specializing programs with respect to invariants.
Utilizing these invariants allows a general system to be instantiated
for a particular environment. The instantiated system is optimized in
the sense that all the operations that depended on the invariant have
been performed.
For more information, please visit our website,
http://www.irisa.fr/EXTERNE/projet/lande/consel/index.html
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.