Previously, techniques such as class hierarchy analysis and receiver c
lass prediction have been to greatly improve the performance of applic
ations written in pure object-oriented languages, but the degree to wh
ich these results are transferable to applications written in hybrid l
anguages has been unclear. In part to answer this question, we have de
veloped the Vortex compiler infrastructure, a language-independent opt
imizing compiler for object-oriented languages, with front-ends for Ce
cil, C++, Java, and Modula-3. In this paper, we describe the Vortex co
mpiler's intermediate language, internal structure, and optimization s
uite, and then we report the results of experiments assessing the effe
ctiveness of different combinations of optimizations on sizable applic
ations across these four languages. We characterize the benchmark prog
rams in terms of a collection of static and dynamic metrics, intended
to quantify aspects of the ''object-orientedness'' of a program.