|
ABSTRACT
Reflection plays a major role in the programming of generic applications. However, it introduces an interpretation layer which is detrimental to performance. A solution consists of relying on partial evaluation to remove this interpretation layer. This paper deals with improving a standard partial evaluator in order to handle the Java reflection API. The improvements basically consist of taking type information into account when distinguishing between static and dynamic data, as well as introducing two new specialization actions: reflection actions. Benchmarks using the serialization framework show the benefits of the approach.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
L.O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, Computer Science Department, University of Copenhagen, May 1994.
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
 |
6
|
|
 |
7
|
C. Consel , L. Hornof , R. Marlet , G. Muller , S. Thibault , E.-N. Volanschi , J. Lawall , J. Noyé, Tempo: specializing systems applications and beyond, ACM Computing Surveys (CSUR), v.30 n.3es, Sept. 1998
[doi> 10.1145/289121.289140]
|
| |
8
|
|
 |
9
|
Eric Eide , Kevin Frei , Bryan Ford , Jay Lepreau , Gary Lindstrom, Flick: a flexible, optimizing IDL compiler, ACM SIGPLAN Notices, v.32 n.5, p.44-56, May 1997
|
| |
10
|
A.S. Gokhale and D.C. Schmidt. Optimizing a CORBA IIOP protocol engine for minimal footprint multimedia system. IEEE Journal on Selected Areas in Communications, special issue on Service Enabling Platform for Networked Multimedia Systems, 1999.
|
| |
11
|
C.L. Hankin and D. Le M~tayer. A type-based framework for program analysis. In B. Le Charlier, editor, Static Analysis - First International Static Analysis Symposium, SAS'94, volume 864 of Lecture Notes in Computer Science, pages 380--394, Namur, Belgium, September 1994. Springer-Verlag.
|
 |
12
|
Luke Hornof , Jacques Noyé, Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity, Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, p.63-73, June 12-13, 1997, Amsterdam, The Netherlands
|
| |
13
|
|
| |
14
|
|
| |
15
|
B. Jay and J. Noble. Shaping object-oriented programs. Technical Report 96-16, University of Technology, Sydney, 1996.
|
 |
16
|
|
| |
17
|
|
| |
18
|
G. Kiczales, j. Lamping, A. Mendhekar, C. Madea, C. Lopes, and J.-M. Loingtier. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, ECOOP'97- Object-Oriented Programming- 11th European Conference, volume 1241 of Lecture Notes in Computer Science, pages 220-242, Jyv~kyla, Finland, june 1997. Springer-Verlag.
|
 |
19
|
|
| |
20
|
P. Maes. Concepts and Experiments in Computational Reflection. PhD thesis, Vrije Universiteit Brussel, 1987.
|
| |
21
|
H. Makholm. Specializing C - an introduction to the principles behind C-Mix/f1. Technical report, Computer Science Department, University of Copenhagen, Jure 1999.
|
| |
22
|
|
| |
23
|
B. Moura. Bridging the gap between functional and imperative languages. PhD thesis, Universitfi de Rennes I, Rennes, France, 1997.
|
| |
24
|
G. Muller, B. Moura, F. Bellard, and C. Consel. Harissa: a flexible and efficient Java environment mixing bytecode and compiled code. In 3rd Usenix Conference on Object-oriented Technologies and systems (COOTS'97), 1997.
|
 |
25
|
|
| |
26
|
|
| |
27
|
A CM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997. ACM SIGPLAN Notices, 32(12).
|
| |
28
|
E. Ruf. Partial evaluation in reflective system implemantations. In OOSPLA '93 Workshop on Reflection and Meta-Level architectures, oct 1993.
|
| |
29
|
|
 |
30
|
|
| |
31
|
|
| |
32
|
SUN Microsystems. JavaBeans API specifications. http://java, sun. corn/beans, 1997. Revision 1.00-A.
|
| |
33
|
SUN Microsystems. Java Object Serialization specification, November 1998. JDK 1.2.
|
| |
34
|
SUN Microsystems. Java Remote Method Invocation specification, October 1998. Revision 1.50, JDK 1.2.
|
| |
35
|
SUN Microsystems. Java TM 2 Platform, Standard Edition, vI.2.~ API Specification, 1999.
|
| |
36
|
P. Thiemann. Towards partial evaluation of full scheme. In G. Kiczales, editor, Reflection'96, pages 95-106, San Francisco, California, April 1996.
|
CITED BY 7
|
|
Yoshiki Sato , Shigeru Chiba , Michiaki Tatsubori, A selective, just-in-time aspect weaver, Proceedings of the second international conference on Generative programming and component engineering, p.189-208, September 22-25, 2003, Erfurt, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|