| Recompilation for debugging support in a JIT-compiler |
| Full text |
Pdf
(90 KB)
|
| Source
|
Workshop on Program Analysis for Software Tools and Engineering
archive
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
table of contents
Charleston, South Carolina, USA
SESSION: Monitoring and debugging
table of contents
Pages: 10 - 17
Year of Publication: 2002
ISBN:1-58113-479-7
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 1, Downloads (12 Months): 20, Citation Count: 0
|
|
|
ABSTRACT
A static Java compiler converts Java source code into a verifiably secure and compact architecture-neutral intermediate format, called Java byte codes. The Java byte codes can be either interpreted by a Java Virtual Machine or translated into native code by Java Just-In-Time compilers. Static Java compilers embed debug information in the Java class files to be used by the source level debuggers. However, the debug information is generated for architecture independent byte codes and most of the debug information is valid only when the byte codes are interpreted. Translating byte codes into native instructions puts a limitation on the amount of usable debug information that can be used by source level debuggers. In this paper, we present a new technique to generate valid debug information when Just-In-Time compilers are used. Our approach is based on the dynamic recompilation of Java methods by a fast code generator and lazily generates debug information when it is required. We also present three implementations for field watch support in the Java Virtual Machine Debugger Interface to investigate the runtime overhead and code size growth by our 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
|
Ali-Reza Adl-Tabatabai , Michał Cierniak , Guei-Yuan Lueh , Vishesh M. Parikh , James M. Stichnoth, Fast, effective code generation in a just-in-time Java compiler, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.280-290, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
2
|
Michał Cierniak , Guei-Yuan Lueh , James M. Stichnoth, Practicing JUDO: Java under dynamic optimizations, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.13-26, June 18-21, 2000, Vancouver, British Columbia, Canada
|
| |
3
|
Sun Microsystems, Java Virtual Machine Debug Interface Reference. http://java.sun.com/j2se/1.3/docs/guide/jpda/jvmdi-spec.html
|
| |
4
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
5
|
|
| |
6
|
|
| |
7
|
Intel Corp. Intel Architecture Software Developer's Manual, 1997 (Order number 243192).
|
| |
8
|
Intel Corp. Intel IA-64 Architecture Software Developer's Manual, 2000 (Order number 245319).
|
| |
9
|
|
 |
10
|
James M. Stichnoth , Guei-Yuan Lueh , Michał Cierniak, Support for garbage collection at every instruction in a Java compiler, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.118-127, May 01-04, 1999, Atlanta, Georgia, United States
|
| |
11
|
Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks, http://www.spec.org/osg/jvm98
|
| |
12
|
|
 |
13
|
|
| |
14
|
Intel Corporation, Open Runtime Platform. http://www.intel.com/research/mrl/orp.
|
 |
15
|
|
 |
16
|
|
| |
17
|
|
 |
18
|
Robert Wahbe , Steven Lucco , Susan L. Graham, Practical data breakpoints: design and implementation, Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, p.1-12, June 21-25, 1993, Albuquerque, New Mexico, United States
|
|