| Name | Size (lines) | Description |
|---|---|---|
| ixx, ixx-av | 14,500 | A translator from IDL to C++ |
| ktsim, ktsim-av | 19,200 | A cache simulator developed by Ted Romer et al. at UW |
| porky | 64,300 | The scalar optimization pass of the Stanford SUIF compiler |
| raytrace | 3,000 | A raytracer benchmark |
The -av versions of ixx and ktsim are the same as the non-av versions except that all methods are declared virtual, to experiment with the effectiveness of our implementation techniques on C++ written in a very extensible style.
| Name | Description |
|---|---|
| unopt | No Vortex optimizations (but full gcc -O2 optimizations on the generated C code) |
| trad-opt | Vortex intraprocedural, non-message optimizations, including elimination of redundant and dead loads & stores and elimination of dead object creations |
| inl | trad-opt plus automatic inlining (beyond any inlining performed by the C++ front-end due to inline directives) |
| i | inl plus intraprocedural static class analysis to optimize messages |
| i-cha | i plus class hierarchy analysis to automatically identify non-overridden methods |
| i-prof | i plus dynamic-profile-guided class prediction |
| i-cha-prof | i-cha plus -prof |
As shown in the "Raw, Detailed Data" table, class hierarchy analysis makes the all-virtual (-av) versions of the benchmarks run just as fast as the regular versions of the benchmarks.