Interpreter Research at Institut für Computersprachen

see also Forth research for Forth interpreter stuff.

Persons

Projects

Vmgen
(Anton Ertl and others) a generator of virtual machine interpreters that automates several parts of interpreter construction and supports efficient VM interpreters in several ways: Vmgen home page, long paper, short overview, Forth implementation using Vmgen precursor, JavaVM implementation using Vmgen.
Branch prediction and VM interpreters
(Anton Ertl, David Gregg) Performance of various indirect branch predictors on efficient interpreters: paper (PDF version), earlier, shorter paper, benchmarks. How to change interpreters to increase the prediction accuracy of BTBs: paper, code and data used for evaluation.
Superinstructions
(Anton Ertl, David Gregg, Helmut Eller) Helmut Eller's Diploma Thesis looks at heuristics for selecting which static superinstructions to include in the interpreter, how to select static superinstructions when generating interpreted code, and whether static superinstructions or static superoperators are superior. We have also looked at static superinstructions in other papers (e.g., the Implementation issues for superinstructions in Gforth, Optimizing indirect branch prediction accuracy in virtual machine interpreters, Threaded code variations and optimizations, The common case in Forth programs), and also have some Data on Forth superinstruction candidates online. Some papers also discuss dynamic superinstructions, e.g., Combining stack caching with dynamic superinstructions, Implementation issues for superinstructions in Gforth, Optimizing indirect branch prediction accuracy in virtual machine interpreters.
Stack caching for interpreters
(Anton Ertl). Reduce loads, stores, and stack pointer updates by keeping stack items in registers; some results should also be interesting for hardware design: papers on idea (SIGPLAN PLDI'95 and (earlier version) EuroForth'94) and results from a real implementation (IVME'04), Ph.D. Thesis chapter and raw data.
Threaded code
(Anton Ertl, Helmut Eller) the fastest VM instruction dispatch technique: general description, threading microbenchmark, Threaded code for Kaffe (a JavaVM).

Events

Software

Product-quality

Research prototypes etc.


Anton Ertl

HTML 2.0