Implementing typed intermediate languages

被引:0
|
作者
Shao, Z [1 ]
League, C [1 ]
Monnier, S [1 ]
机构
[1] Yale Univ, Dept Comp Sci, New Haven, CT 06520 USA
关键词
D O I
10.1145/291251.289460
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Recent advances in compiler technology have demonstrated the benefits of using strongly typed intermediate languages to compile richly typed source languages (e.g., ML). A type-preserving compiler can use types to guide advanced optimizations and to help generate provably secure mobile code. Types, unfortunately, are very hard to represent and manipulate efficiently; a naive implementation can easily add exponential overhead to the compilation and execution of a program. This paper describes our experience with implementing the FLINT typed intermediate language in the SML/NJ production compiler. We observe that a type-preserving compiler will not scale to handle large types unless all of its type-preserving stages preserve the asymptotic time and space usage in representing and manipulating types. We present a series of novel techniques for achieving this property and give empirical evidence of their effectiveness.
引用
收藏
页码:313 / 323
页数:11
相关论文
共 50 条
  • [21] Integrating SELinux with security-typed languages
    Hicks, Boniface
    Rueda, Sandra
    Jaeger, Trent
    McDaniel, Patrick
    PROCEEDINGS OF THE THIRD ANNUAL SECURITY ENHANCED LINUX SYMPOSIUM, 2007, : 85 - 92
  • [22] Extrinsically Typed Operational Semantics for Functional Languages
    Cimini, Matteo
    Miller, Dale
    Siek, Jeremy G.
    PROCEEDINGS OF THE 13TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, SLE 2020, 2020, : 108 - 125
  • [23] Storage Strategies for Collections in Dynamically Typed Languages
    Bolz, Carl Friedrich
    Diekmann, Lukas
    Tratt, Laurence
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 167 - 182
  • [24] ANALYSIS AND OPTIMIZATION OF ENGINES FOR DYNAMICALLY TYPED LANGUAGES
    Dot, Gem
    Martinez, Alejandro
    Gonzalez, Antonio
    2015 27TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 2015, : 41 - 48
  • [25] Typed query languages for databases containing queries
    Neven, F
    Van den Bussche, J
    Van Gucht, D
    Vossen, G
    INFORMATION SYSTEMS, 1999, 24 (07) : 569 - 595
  • [26] Security-typed languages and distributed computation
    Myers, A
    STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 437 - 437
  • [27] Stanford Typed Dependencies: Slavic Languages Application
    Marszalek-Kowalewska, Katarzyna
    Zaretskaya, Anna
    Soucek, Milan
    ADVANCES IN NATURAL LANGUAGE PROCESSING, 2014, 8686 : 151 - +
  • [28] UNITED AND DISCRIMINATED RECORD TYPES IN STRONGLY TYPED LANGUAGES
    BERRY, DM
    SCHWARTZ, RL
    INFORMATION PROCESSING LETTERS, 1979, 9 (01) : 13 - 18
  • [29] Exploring Type Inference Techniques of Dynamically Typed Languages
    Saifullah, C. M. Khaled
    Asaduzzaman, Muhammad
    Roy, Chanchal K.
    PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 70 - 80
  • [30] Accelerating Dynamically Typed Languages with a Virtual Function Cache
    Pentecost, Lillian
    Stratton, John
    PROCEEDINGS OF CO-HPC 2015: 2ND INTERNATIONAL WORKSHOP ON HARDWARE-SOFTWARE CO-DESIGN FOR HIGH PERFORMANCE COMPUTING, 2015,