JVM 2001 Abstract
Mostly Accurate Stack Scanning
Katherine Barabash, Niv Buchbinder, Tamar Domani, Elliot K. Kolodner, Yoav Ossia, and Shlomit S. Pinter, IBM Haifa
Research Laboratory; Janice Shepherd, IBM T.J. Watson Research Laboratory; and Ron Sivan and Victor Umansky, IBM Haifa Research Laboratory
The Java Virtual Machine (Jvm) needs, for the
purpose of garbage collection (GC), to determine the data
type stored in every memory location. Jvms that can do
this reliably are said to be type-accurate (TA). Full type
accuracy usually exacts a price in performance due to the
need to scan stacks and registers accurately. The mostly accurate approach presented here can reduce the TA overhead
significantly by sacrificing accuracy for the small minority
of memory locations that add the most to the cost. Performance results show that mostly accurate stack scanning
performs as well as conservative stack scanning and that
relatively few objects are identified conservatively.
In addition our implementation is designed to support and
generate type maps for any verifiable bytecode stream (including combinations that are unlikely to be produced by a
compiler) without requiring rewriting of the bytecode. We
introduce a new compression technique for type maps that
uses a program-friendly format for the maps; yet, achieves
good compression and provides fast opening of compressed
maps. We show how to apply systematic testing techniques
and test coverage tools to an accurate stack scanner.
- View the full text of this paper in
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.