thunking
Définition
Conversion réalisée à la volée entre deux espaces d'adressage, typiquement assurer la compatibilité entre une ABI définie pour une taille de mots et un utilisateur de l'ABI défini pour une autre taille de mots. L'exemple le plus notoire est le double thunk présent dans les systèmes d'exploitation Windows/9x:
- l'universal thunk permet aux (anciens) programmes 16 bits d'appeler les (nouvelles) fonctions 32 bits en remplissant les poids forts avec des valeurs nulles : dans Windows/9x, c'est le generic thunk qui réalise cette fonction pour tous les appels de ce type
- le flat thunk permet au (nouveau) code 32 bits de faire appel aux (anciennes) DLLs utilisant des fonctions 16 bits. Dans la mesure où les poids forts ne sont pas nécessairement nuls, une couche d'interfaçage doit être écrite pour toute application 32 bits devant utiliser une ABI 16 bits par thunking, en encapsulant tous les appels, avec des invocations multiples le cas échéant.
Voir "DLL", "MMU"