Programming Languages White Papers
Faster Laziness Using Dynamic Pointer Tagging
Overview This paper proposes two tagging strategies: a simple strategy called semi-tagging that seeks to avoid one common source of unpredictable indirect jumps, and a more complex strategy called dynamic pointer-tagging that uses the spare low bits in a pointer to encode information about the pointed-to object. Both of these strategies have been implemented and exhaustively measured in the context of a production compiler, GHC, and the paper contains detailed descriptions of the implementations. The measurements demonstrate significant performance improvements (14% for dynamic pointer-tagging with only a 2% increase in code size), and it further demonstrate that much of the improvement can be attributed to the elimination of mispredicted branch instructions.
| Publisher | Microsoft | File Format | |
|---|---|---|---|
| Date Published | April 2007 | ||
| Format | White Papers | ||
| Topics | |||



