Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
A Single Intermediate Language
That Supports Multiple Implementations of Exceptions
(Abstract)
A Single Intermediate Language
That Supports Multiple Implementations of Exceptions
(Abstract)
We present mechanisms that enable our compiler-target
language, C--, to express four of the best known techniques for
implementing exceptions, all within a single, uniform framework.
We define the mechanisms precisely, using a formal operational semantics.
We also show that exceptions need not require
special treatment in the optimizer; by introducing extra dataflow
edges, we make standard optimization techniques work even on programs
that use exceptions.
Our approach
clarifies the design space of exception-handling techniques, and
it allows a single optimizer to handle a variety of implementation
techniques.
Our ultimate goal is to allow a source-language compiler
the freedom to choose its exception-handling policy, while encapsulating
the (architecture-dependent) mechanisms and their optimization in an
implementation of C-- that
can be used by compilers for many source languages.
The paper appeared in the ACM SIGPLAN '00 Conference on Programming Language Design and
Implementation (PLDI), in SIGPLAN Notices 35(5):285--298.
A reprint is available in
PostScript (302K).
(The ACM proceedings format supports US Letter size only.)
The slides and audio
from the PLDI talk are also available.