TRANSACTING ACCESSES VIA UNMANAGED POINTERS

Various technologies and techniques are disclosed for transacting accesses via unmanaged pointers in a transactional memory system. A transactional memory system is provided. Source code is analyzed to identify operations that create unmanaged pointers. Information is tracked about the targets of un...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: DETLEFS, DAVID
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Various technologies and techniques are disclosed for transacting accesses via unmanaged pointers in a transactional memory system. A transactional memory system is provided. Source code is analyzed to identify operations that create unmanaged pointers. Information is tracked about the targets of unmanaged pointer values in pointer variables. The target information is used to determine how accesses through an unmanaged pointer argument are to be transacted. When an unmanaged pointer is created, a descriptor of the target with the resulting pointer value is associated with the location. Within the method that creates the unmanaged pointer, the target can be identified using the descriptor, thereby enabling accesses to be transacted. When an unmanaged pointer is being passed as an argument, a descriptor is also passed as an argument to allow the unmanaged pointer target to be identified. L'invention concerne plusieurs technologies et techniques pour effectuer des transactions d'accès par l'intermédiaire de pointeurs non gérés dans un système de mémoire transactionnelle. Un système de mémoire transactionnelle est fourni. Un code source est analysé pour identifier des opérations qui créent des pointeurs non gérés. Des informations concernant les cibles de valeurs de pointeurs non gérés dans des variables de pointeurs font l'objet d'un suivi. Les informations cibles servent à déterminer la façon dont les accès par l'intermédiaire d'un argument de pointeurs non gérés doivent être traités pour une transaction. Lorsqu'un pointeur non géré est créé, un descripteur de la cible comprenant la valeur de pointeurs obtenue est associé à l'emplacement. Dans le procédé qui crée le pointeur non géré, la cible peut être identifiée au moyen du descripteur, ce qui permet d'effectuer la transaction des accès. Lorsqu'un pointeur non géré est passé en tant qu'argument, un descripteur est également passé en tant qu'argument pour permettre d'identifier la cible de pointeurs non gérés.