The Impact of Interprocedural Class Analysis on Optimization
David Grove
The runtime performance of object-oriented
languages often suffers due to the overhead of
dynamic dispatching. In order to make these
languages competitive with traditional languages,
optimizing compilers attempt to eliminate as many
of the dynamic dispatches as possible. A variety of
local and intraprocedural techniques have been
developed to do this, but they can be ineffective
when they are unable to statically bind and inline a
message send. To enable better analysis across non-
inlined message sends, interprocedural analysis is
required. In this paper we describe a simple
algorithm for interprocedural class analysis and
empirically evaluate its effectiveness as a tool for
program optimization. We demonstrate that
interprocedural class analysis can substantially
decrease application execution times when
compared to applications optimized with only
intraprocedural techniques.
CASCON'95 Conference Proceedings, Toronto, Ontario, November, 1995.
Winner of the Best Student Paper Award for CASCON'95
To get the PostScript file, click
here.
Cecil/Vortex
Project