| Fast subtype checking in the HotSpot JVM |
| Full text |
Pdf
(62 KB)
|
| Source
|
Java Grande Conference
archive
Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
table of contents
Seattle, Washington, USA
Pages: 96 - 107
Year of Publication: 2002
ISBN:1-58113-599-8
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 8, Downloads (12 Months): 75, Citation Count: 7
|
|
|
ABSTRACT
We present the fast subtype checking implemented in Sun's HotSpot JVM. Subtype checks occur when a program wishes to know if class S implements class T, where S and T are not both known at compile-time. Large Java programs will make millions or even billions of such checks, hence a fast check is essential. In actual benchmark runs our technique performs complete subtype checks in 3 instructions (and only 1 memory reference) essentially all the time. In rare instances it reverts to a slower array scan. Memory usage is moderate (11 words per class) and can be traded off for time. Class loading does not require recomputing any data structures associated with subtype checking.
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
|
B. Alpern, A. Cocchi, and D. Grove. Dynamic Type Checking in Jalapeño. In the 2001 USENIX Java™ Virtual Machine Symposium.
|
 |
2
|
David F. Bacon , Peter F. Sweeney, Fast static analysis of C++ virtual function calls, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.324-341, October 06-10, 1996, San Jose, California, United States
|
 |
3
|
|
| |
4
|
E.W. Dijkstra. Recursive Programming. Numer. Programming, (2):312--318, 1960.
|
| |
5
|
|
| |
6
|
|
| |
7
|
M. Paleczny, C. Click, C. Vick, The Java HotSpot™ Server Compiler. In the 2001 USENIX Java™ Virtual Machine Symposium.
|
| |
8
|
B.H.C. Pfister and J. Templ. Oberon technical notes. Research Report 156, Eidgenossische Techniscle Hochschule Zurich- Departement Informatik, March 1991.
|
| |
9
|
The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. http://www.spec.org/osg/jvm98, 1998.
|
| |
10
|
The Standard Performance Evaluation Corporation. SPEC JBB2000 Benchmarks. http://www.spec.org/osg/jbb2000, 2000.
|
 |
11
|
Vijay Sundaresan , Laurie Hendren , Chrislain Razafimahefa , Raja Vallée-Rai , Patrick Lam , Etienne Gagnon , Charles Godin, Practical virtual method call resolution for Java, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.264-280, October 2000, Minneapolis, Minnesota, United States
|
 |
12
|
Jan Vitek , R. Nigel Horspool , Andreas Krall, Efficient type inclusion tests, Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.142-157, October 05-09, 1997, Atlanta, Georgia, United States
|
CITED BY 7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Iulian Dragos , Martin Odersky, Compiling generics through user-directed type specialization, Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, p.42-47, July 06-06, 2009, Genova, Italy
|
|