Observatorio de I+D+i UPM

Memorias de investigación
Communications at congresses:
Comparing Tag Scheme Variations Using an Abstract Machine Generator
Year:2008
Research Areas
  • Programming language
Information
Abstract
In this paper we study, in the context of a WAM-based abstract machine for Prolog, how variations in the encoding of type information in tagged words and in their associated basic operations impact performance and memory usage.We use a high-level language to specify encodings and the associated operations. An automatic generator constructs both the abstract machine using this encoding and the associated Prolog-to-bytecode compiler. Annotations in this language make it possible to impose constraints on the final representation of tagged words, such as the effectively addressable space (fixing, for example, the word size of the target processor / architecture), the layout of the tag and value bits inside the tagged word, and how the basic operations are implemented. We evaluate a large number of combinations of the different parameters in two scenarios: a) trying to obtain an optimal general-purpose abstract machine and b) automatically generating a specially-tuned abstract machine for a particular program. We conclude that we are able to automatically generate code featuring all the optimizations present in a hand-written, highly-optimized abstract machine and we can also obtain emulators with larger addressable space and better performance.
International
Si
Congress
International Conference on Principles and Practice of Declarative Programming
960
Place
Valencia, España
Reviewers
No
ISBN/ISSN
ISBN:978-1-60558-117-0
http://doi.acm.org/10.1145/1389449.1389455
Start Date
15/07/2008
End Date
17/07/2008
From page
32
To page
43
Comparing Tag Scheme Variations Using an Abstract Machine Generator
Participants
  • Autor: José Francisco Morales Caballero (UPM)
  • Autor: Manuel Carro Liñares (UPM)
  • Autor: Manuel de Hermenegildo Salinas (UPM)
Research Group, Departaments and Institutes related
  • Creador: Grupo de Investigación: Computación lógica, Lenguajes, Implementación y Paralelismo (CLIP)
  • Departamento: Lenguajes y Sistemas Informáticos e Ingeniería de Software
  • Departamento: Inteligencia Artificial
S2i 2019 Observatorio de investigación @ UPM con la colaboración del Consejo Social UPM
Cofinanciación del MINECO en el marco del Programa INNCIDE 2011 (OTR-2011-0236)
Cofinanciación del MINECO en el marco del Programa INNPACTO (IPT-020000-2010-22)