Results 1 -
5 of
5
The Jalapeño Dynamic Optimizing Compiler for Java
, 1999
"... The JalapeÃño Dynamic Optimizing Compiler is a key component of the JalapeÃño Virtual Machine, a new Java Virtual Machine (JVM) designed to support efficient and scalable execution of Java applications on SMP server machines. This paper describes the design of the JalapeÃño Optimizing Compiler, and ..."
Abstract
-
Cited by 159 (28 self)
- Add to MetaCart
The JalapeÃño Dynamic Optimizing Compiler is a key component of the JalapeÃño Virtual Machine, a new Java Virtual Machine (JVM) designed to support efficient and scalable execution of Java applications on SMP server machines. This paper describes the design of the JalapeÃño Optimizing Compiler, and the implementation results that we have obtained thus far. To the best of our knowledge, this is the first dynamic optimizing compiler for Java that is being used in a JVM with a compile-only approach to program execution.
A Framework for Interprocedural Optimization in the Presence of Dynamic Class Loading
- IN PROCEEDINGS OF THE ACM SIGPLAN ’00 CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION
, 2000
"... Dynamic class loading during program execution in the Java Programming Language is an impediment for generating code that is as efficient as code generated using static whole-program analysis and optimization. Whole-program analysis and optimization is possible for languages, such as C++, that do no ..."
Abstract
-
Cited by 37 (1 self)
- Add to MetaCart
Dynamic class loading during program execution in the Java Programming Language is an impediment for generating code that is as efficient as code generated using static whole-program analysis and optimization. Whole-program analysis and optimization is possible for languages, such as C++, that do not allow new classes and/or methods to be loaded during program execution. One solution for performing whole-program analysis and avoiding incorrect execution after a new class is loaded is to invalidate and recompile affected methods. Runtime invalidation and recompilation mechanisms can be expensive in both space and time, and, therefore, generally restrict optimization. To address these drawbacks, we propose a new framework, called the extant analysis framework, for interprocedural optimization of programs that support dynamic class (or method) loading. Given a set of classes comprising the closed world, we perform an offline static analysis which partitions references into two catego...
Composition of Meta-Objects in Guaraná
, 1998
"... There are meta-object protocols (MOPs) that do not provide support for meta-object composition. Others require explicit modification of existing meta-level code or provide a limited delegation mechanism in order to support it. There is much room for improvement in this field. The MOP of Guarana favo ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
There are meta-object protocols (MOPs) that do not provide support for meta-object composition. Others require explicit modification of existing meta-level code or provide a limited delegation mechanism in order to support it. There is much room for improvement in this field. The MOP of Guarana favors the development of meta-objects that can be easily composed. Composers are meta-objects that define arbitrary policies of delegation to other meta-objects, separating the implementation of meta-level functionality from its organization. Composers can also implement meta-level security policies, limiting the abilities of its component meta-objects. Composers can be further composed, forming a potentially in finite reconfigurable hierarchy. Our MOP is currently implemented in Java TM. Nevertheless, most design decisions presented in this paper can be transported to other programming languages and MOPs, improving their flexibility, reconfigurability, security and code reuse.
A SUIF Java compiler
, 1998
"... To compete with optimized C, object-oriented languages need classical optimizations as well as specific object-oriented optimizations. Therefore, a compiler infrastructure that enables object-oriented compiler research isof great interest for the research community. The SUIF compiler system with the ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
To compete with optimized C, object-oriented languages need classical optimizations as well as specific object-oriented optimizations. Therefore, a compiler infrastructure that enables object-oriented compiler research isof great interest for the research community. The SUIF compiler system with the OSUIF extension offers such a research environment. SUIF defines an intermediate representation for procedural languages and offers standard optimization passes. OSUIF extends SUIF with an intermediate representation tailored towards object-oriented languages, hence allowing specific object-oriented optimizations. To enable Java-related compiler research in (O)SUIF, we have implemented j2s, a Java bytecode front end for the OSUIF/SUIF 2.0 compiler system. Our compiler uses off-line compilation, so that the whole program is known at compile time. Thus, static whole-program optimizations such as class hierarchy analysis and type inference can be implemented with (O)SUIF and applied during the compilation. j2s supports the complete Java Virtual Machine specification, except for threads and exception handling, which are currently not supported by the runtime system and (O)SUIF. Because we implemented an off-line compiler, the dynamic loading of classes is also not supported. The compiler is divided into the (O)SUIF front end and the runtime system. The main part of
The Jalape~no dynamic optimizing compiler for Java TM
- In Proceedings of the ACM SIGPLAN '99 Java Grande Conference
, 1999
"... The Jalape~no Dynamic Optimizing Compiler is a key com-ponent of the Jalape~no Virtual Machine, a new Java 1 Vir-tual Machine (JVM) designed to support e cient and scal-able execution of Java applications on SMP server machines. This paper describes the design of the Jalape~no Optimizing Compiler, a ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The Jalape~no Dynamic Optimizing Compiler is a key com-ponent of the Jalape~no Virtual Machine, a new Java 1 Vir-tual Machine (JVM) designed to support e cient and scal-able execution of Java applications on SMP server machines. This paper describes the design of the Jalape~no Optimizing Compiler, and the implementation results that we have ob-tained thus far. To the best of our knowledge, this is the rst dynamic optimizing compiler for Java that is being used in a JVM with a compile-only approach to program execution. 1

