Implementing Efficient Indirections

Abstract : We study and compare three different implementations of indirections: pointers, descriptors and maillons. Pointers are efficient but inflexible: the target object is accessible without protection and cannot be moved easily. An indirection through an object descriptor facilitates in particular object faulting, copying garbage collection, migration, locking and late binding. Unfortunately the cost to applications is high, because every access must test attributes of the descriptor. We propose an alternative implementation, called maillons, where the descriptor directly contains the dereference code and no test is necessary on the common path. In contract with descriptors, an action is attached to the maillon itself and not to the calling code. We have implemented different kinds of maillons, and measured them in micro- and macro-benchmarks. The micro-benchmarks indicate that a maillon is dereferenced in twice the time of the equivalent pointer. The macro-benchmarks indicate that, the impact on the application times is acceptable
keyword : loo
Type de document :
Communication dans un congrès
Broadcast 1st Open Workshop, 1993, Newcastle, England, United Kingdom. 1993
Liste complète des métadonnées
Contributeur : Kumar Guha <>
Soumis le : jeudi 7 janvier 2010 - 09:42:34
Dernière modification le : vendredi 25 mai 2018 - 12:02:05


  • HAL Id : inria-00444628, version 1



Julien Maisonneuve, Marc Shapiro. Implementing Efficient Indirections. Broadcast 1st Open Workshop, 1993, Newcastle, England, United Kingdom. 1993. 〈inria-00444628〉



Consultations de la notice