We can use a standard trick, a software code cache, which has been used in systems like Shade. We place all of the non-branch instructions into a code cache, one basic block at a time. We can execute these blocks natively, and return to our dispatcher only to retrieve the next block. This native execution can bring the performance down to about 25X.
|Copyright © 2004 Derek Bruening|