Lightweight remote procedure call
ACM Transactions on Computer Systems (TOCS)
Partial evaluation applied to numerical computation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Compiling inheritance using partial evaluation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A tour of Schism: a partial evaluation system for higher-order applicative languages
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Optimizing dynamically-dispatched calls with run-time type feedback
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
The image processing handbook (2nd ed.)
The image processing handbook (2nd ed.)
SIGGRAPH '95 Proceedings of the 22nd annual conference on Computer graphics and interactive techniques
Exploring issues of operating systems structuring: from microkernel to extensible systems
ACM SIGOPS Operating Systems Review
Optimistic incremental specialization: streamlining a commercial operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Optimizing ML with run-time code generation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Fast, effective dynamic compilation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Vortex: an optimizing compiler for object-oriented languages
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A general approach for run-time specialization and its application to C
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
DPF: fast, flexible message demultiplexing using dynamic code generation
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Declarative specialization of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An evaluation of automatic object inline allocation techniques
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Harissa: A Hybrid Approach to Java Execution
IEEE Software
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
A Uniform Approach for Compile-Time and Run-Time Specialization
Selected Papers from the Internaltional Seminar on Partial Evaluation
Mapping software architectures to efficient implementations via partial evaluation
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Fast, Optimized Sun RPC Using Automatic Program Specialization
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Harissa: a flexible and efficient java environment mixing bytecode and compiled code
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
OpenJIT: An Open-Ended, Reflective JIT Compiler Framework for Java
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Distinctness and Sharing Domains for Static Analysis of Java Programs
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Lambda-Lifting in Quadratic Time
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Automatic Specialization of Java Programs in the Distributed Environment
ICOIN '02 Revised Papers from the International Conference on Information Networking, Wireless Communications Technologies and Network Applications-Part II
OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
An Environment for Building Customizable Software Components
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Optimized composition of performance-aware parallel components
Concurrency and Computation: Practice & Experience
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Hi-index | 0.00 |
Automatic program specialization can derive efficient implementations from generic components, thus reconciling the often opposing goals of genericity and efficiency. This technique has proved useful within the domains of imperative, functional, and logical languages, but so far has not been explored within the domain of object-oriented languages. We present experiments in the specialization of Java programs. We demonstrate how to construct a program specializer for Java programs from an existing specializer for C programs and a Java-to-C compiler. Specialization is managed using a declarative approach that abstracts over the optimization process and masks implementation details. Our experiments show that program specialization provides a four-time speedup of an image-filtering program. Based on these experiments, we identify optimizations of object-oriented programs that can be carried out by automatic program specialization. We argue that program specialization is useful in the field of software components, allowing a generic component to be specialized to a specific configuration.