Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Fri 25 Oct 2019 14:45 - 15:07 at Olympia - Implementation Chair(s): Jens Palsberg

Debug information, usually encoded in the DWARF format, is a hidden and obscure component of our computing infrastructure. Debug information is obviously used by debuggers, but it also plays a key role in program analysis tools, and, most surprisingly, it can be relied upon by the runtime of high-level programming languages. For instance the C++ runtime leverages DWARF stack unwind tables to implement exceptions! Alas, generating debug information adds significant burden to compiler implementations, and the debug information itself can be pervaded by subtle bugs, making the whole infrastructure unreliable. Additionally, interpreting the debug tables is a time-consuming task and, for some applications as sampling profilers, it turns out to be a performance bottleneck.

In this paper we focus on the DWARF .eh_frame table, that enables stack unwinding in absence of frame-pointers. We will describe two techniques to perform validation and synthesis of the DWARF stack unwinding tables, and their implementation for the x86_64 architecture. The validation tool has proven effective for compiler and inline assembly testing, while the synthesis tool can generate DWARF unwind tables for arbitrary binaries lacking debug information. Additionally, we report on a technique to precompile unwind tables into native x86_64 code, which we have implemented and integrated into \lstinline{libunwind}, resulting in 11x-25x DWARF-based unwind speedups.

slides (slides.pdf)610KiB

Fri 25 Oct

Displayed time zone: Beirut change

14:00 - 15:30
ImplementationOOPSLA at Olympia
Chair(s): Jens Palsberg University of California, Los Angeles
14:00
22m
Talk
Design, Implementation, and Application of GPU-Based Java Bytecode Interpreters
OOPSLA
Ahmet Celik The University of Texas at Austin, Pengyu Nie The University of Texas at Austin, Chris Rossbach The University of Texas at Austin and VMware Research Group, Milos Gligoric The University of Texas at Austin
DOI
14:22
22m
Talk
Initialize Once, Start Fast: Application Initialization at Build Time
OOPSLA
Christian Wimmer Oracle Labs, Codrut Stancu Oracle Labs, Peter Hofer Oracle Labs, Vojin Jovanovic Oracle Labs, Paul Wögerer Oracle Labs, Peter B. Kessler Oracle Labs, Oleg Pliss Oracle Labs, Thomas Wuerthinger Oracle Labs
DOI Pre-print
14:45
22m
Talk
Reliable and Fast DWARF-Based Stack Unwinding
OOPSLA
Link to publication DOI File Attached
15:07
22m
Talk
PYE: A Framework for Precise-Yet-Efficient Just-In-Time Analyses for Java ProgramsTOPLAS
OOPSLA
Manas Thakur IIT Madras, V Krishna Nandivada IIT Madras