Optimizing away C++ exception handling

  • Authors:
  • Jonathan L. Schilling

  • Affiliations:
  • SCO. Inc., Murray Hills, NJ

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

A high performance implementation of C++ exception handling is crucial, because exception handling overhead is distributed across all code. The commonly-used table-driven approach to implementing exception handling can be augmented by an optimization that seeks to identify functions for which (contrary to first appearance) no exception handling tables need be generated at all. This optimization produces modest but useful gains on some existing C++ code, but produces very significant size and speed gains on code that uses empty exception specifications, avoiding otherwise serious performance losses.