Hostname: page-component-76fb5796d-dfsvx Total loading time: 0 Render date: 2024-04-27T04:00:57.182Z Has data issue: false hasContentIssue false

Stack-based typed assembly language

Published online by Cambridge University Press:  09 January 2002

GREG MORRISETT
Affiliation:
Department of Computer Science, Cornell University, Ithaca, NY 14853, USA
KARL CRARY
Affiliation:
Computer Science Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA
NEAL GLEW
Affiliation:
Intertrust, 4750 Patrick Henry Drive, Santa Clara, CA 95054, USA
DAVID WALKER
Affiliation:
Computer Science Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

This paper presents STAL, a variant of Typed Assembly Language with constructs and types to support a limited form of stack allocation. As with other statically-typed low-level languages, the type system of STAL ensures that a wide class of errors cannot occur at run time, and therefore the language can be adapted for use in certifying compilers where security is a concern. Like the Java Virtual Machine Language (JVML), STAL supports stack allocation of local variables and procedure activation records, but unlike the JVML, STAL does not pre-suppose fixed notions of procedures, exceptions, or calling conventions. Rather, compiler writers can choose encodings for these high-level constructs using the more primitive RISC-like mechanisms of STAL. Consequently, some important optimizations that are impossible to perform within the JVML, such as tail call elimination or callee-saves registers, can be easily expressed within STAL.

Type
Research Article
Copyright
© 2002 Cambridge University Press
Supplementary material: PDF

Morrisett errata

Morrisett errata

Download Morrisett errata(PDF)
PDF 74.5 KB
Submit a response

Discussions

No Discussions have been published for this article.