[ANN] return value prediction
Chris Pickett <[email protected]>
| Newsgroups | gmane.comp.java.vm.sablevm.general,gmane.comp.java.vm.sablevm.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, We've published a paper on our return value prediction work in SableVM. The code is not merged into staging yet (or fully released as a separate module), but you can get it from my sandbox. It does need some cleanup. Christopher J.F. Pickett and Clark Verbrugge, "Return Value Prediction in a Java Virtual Machine", Second Value-Prediction and Value-Based Optimization Workshop (VPW2) at ASPLOS XI, pp. 40-47, October 2004. Abstract We present the design and implementation of return value prediction in SableVM, a Java Virtual Machine. We give detailed results for the full SPEC JVM98 benchmark suite, and compare our results with previous, more limited data. At the performance limit of existing last value, stride, 2-delta stride, parameter stride, and context (FCM) sub-predictors in a hybrid, we achieve an average accuracy of 72%. We describe and characterize a new table-based memoization predictor that complements these predictors nicely, yielding an increased average hybrid accuracy of 81%. VM level information about data widths provides a 35% reduction in space, and dynamic allocation and expansion of per-callsite hashtables allows for highly accurate prediction with an average per-benchmark requirement of 119 MB for the context predictor and 43 MB for the memoization predictor. As far as we know, the is the first implementation of non-trace-based return value prediction within a JVM. http://www.sable.mcgill.ca/publications/papers/#vpw2 Comments are welcome. Cheers, Chris