Stack-based typed assembly language

被引:30
|
作者
Morrisett, G [1 ]
Crary, K
Glew, N
Walker, D
机构
[1] Cornell Univ, Dept Comp Sci, Ithaca, NY 14853 USA
[2] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15213 USA
[3] Intertrust, Santa Clara, CA 95054 USA
[4] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15213 USA
关键词
D O I
10.1017/S0956796801004178
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:43 / 88
页数:46
相关论文
共 50 条
  • [1] Stack-based typed assembly language
    Morrisett, Greg
    Crary, Karl
    Glew, Neal
    Walker, David
    [J]. Journal of Functional Programming, 2002, 12 (01) : 43 - 88
  • [2] Deoptimization for Dynamic Language JITs on Typed, Stack-based Virtual Machines
    Kedlaya, Madhukar N.
    Robatmili, Behnam
    Cascaval, Calin
    Hardekopf, Ben
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (07) : 103 - 114
  • [3] A typed, compositional logic for a stack-based abstract machine
    Benton, N
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2005, 3780 : 364 - 380
  • [4] Factor: A Dynamic Stack-based Programming Language
    Pestov, Slava
    Ehrenberg, Daniel
    Groff, Joe
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (12) : 43 - 57
  • [5] Strongly-Typed Multi-View Stack-Based Computations
    Koopman, Pieter
    Lubbers, Mart
    [J]. PROCEEDINGS OF THE 25TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PPDP 2023, 2023,
  • [6] IMPLEMENTING DATA ABSTRACTION FEATURES IN A STACK-BASED LANGUAGE
    GANNON, JD
    ROSENBERG, J
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1979, 9 (07): : 547 - 560
  • [7] Modular verification of assembly code with stack-based control abstractions
    Feng, Xinyu
    Shao, Zhong
    Vaynberg, Alexander
    Xiang, Sen
    Ni, Zhaozhong
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (06) : 401 - 414
  • [8] Stack-based Music Recommendation
    Zhao, Yong-hua
    [J]. INTERNATIONAL CONFERENCE ON ADVANCED COMPUTER SCIENCE AND ENGINEERING (ACSE 2014), 2014, : 290 - 294
  • [9] STACK-BASED SORTING ALGORITHMS
    AMMAR, RA
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1989, 9 (03) : 225 - 239
  • [10] Cat: A functional stack-based language - An intermediate language for program verification, optimization, and more!
    Diggins, Christopher
    [J]. DR DOBBS JOURNAL, 2008, 33 (05): : 22 - +