A Partial Read Barrier for Efficient Support of Live Object-oriented Programming

Eliot Miranda 1 Clément Béra 2
2 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : Live programming, originally introduced by Smalltalk and Lisp, and now gaining popularity in contemporary systems such as Swift, requires on-the-fly support for object schema migration, such that the layout of objects may be changed while the program is at one and the same time being run and developed. In Smalltalk schema migration is supported by two primitives, one that answers a collection of all instances of a class, and one that exchanges the identities of pairs of objects, called the become primitive. Existing instances are collected, copies using the new schema created, state copied from old to new, and the two exchanged with become, effecting the schema migration. Historically the implementation of become has either required an extra level of indirection between an object's address and its body, slowing down slot access, or has required a sweep of all objects, a very slow operation on large heaps. Spur, a new object representation and memory manager for Smalltalk-like languages, has neither of these deficiencies. It uses direct pointers but still provides a fast become operation in large heaps, thanks to forwarding objects that when read conceptually answer another object and a partial read barrier that avoids the cost of explicitly checking for forwarding objects on the vast majority of object accesses.
Type de document :
Communication dans un congrès
International Symposium on Memory Management, Jun 2015, Portland, United States. pp.93-104 ISMM '15 Proceedings of the 2015 International Symposium on Memory Management. 〈10.1145/2754169.2754186〉
Liste complète des métadonnées

Littérature citée [20 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01152610
Contributeur : Clement Bera <>
Soumis le : mardi 26 mai 2015 - 09:41:37
Dernière modification le : jeudi 11 janvier 2018 - 06:27:32
Document(s) archivé(s) le : jeudi 20 avril 2017 - 01:03:30

Fichier

partialReadBarrier.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Citation

Eliot Miranda, Clément Béra. A Partial Read Barrier for Efficient Support of Live Object-oriented Programming. International Symposium on Memory Management, Jun 2015, Portland, United States. pp.93-104 ISMM '15 Proceedings of the 2015 International Symposium on Memory Management. 〈10.1145/2754169.2754186〉. 〈hal-01152610〉

Partager

Métriques

Consultations de la notice

366

Téléchargements de fichiers

426