SODA

Instruction merging and specializing in the SICStus Prolog virtual machine

Nässén, Henrik and Carlsson, Mats and Sagonas, Kostis (2001) Instruction merging and specializing in the SICStus Prolog virtual machine. In: Proceedings PPDP'01, Principles and Practice of Declarative Programming, 5-7 Sep 2001, Firenze, Italy.

[img]
Preview
PDF
185Kb
[img]
Preview
Postscript
215Kb

Abstract

Wanting to improve execution speed and reduce code size of SICStus Prolog programs, we embarked on a project whose aim was to systematically investigate combination and specialisation of WAM instructions. Various variants of the SICStus Prolog virtual machine instruction set were designed, implemented, and their performance was evaluated against standard benchmarks and on big Prolog programs. In this paper, we describe our methodology in finding appropriate candidates for instruction merging and specialisation, discuss related trade-offs, present detailed statistics and performance measurements that we gathered, and report on our experiences from our involvement in this feat. In short, our experience is positive: the speedup of performing instruction merging and specialisation in the context of the SICStus emulator is approximately~10%, while the bytecode size reduction is about~15%.

Item Type:Conference or Workshop Item (Paper)
Additional Information:3rd ACM SIGPLAN international conference.
ID Code:3090
Deposited By:INVALID USER
Deposited On:05 Aug 2008
Last Modified:18 Nov 2009 16:17

Repository Staff Only: item control page