High-Performance Cross-Language Interoperability in a Multi-language Runtime

被引:0
|
作者
Grimmer, Matthias [1 ]
Seaton, Chris [2 ]
Schatz, Roland [3 ]
Wurthinger, Thomas [4 ]
Moessenboeck, Hanspeter [1 ]
机构
[1] Johannes Kepler Univ Linz, Linz, Austria
[2] Oracle Labs, Reading, Berks, England
[3] Oracle Labs, Vienna, Austria
[4] Oracle Labs, Baden, Switzerland
关键词
cross-language; language interoperability; virtual machine; optimization; language implementation;
D O I
10.1145/2816707.2816714
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programmers combine different programming languages because it allows them to use the most suitable language for a given problem, to gradually migrate existing projects from one language to another, or to reuse existing source code. However, existing cross-language mechanisms suffer from complex interfaces, insufficient flexibility, or poor performance. We present the TruffleVM, a multi-language runtime that allows composing different language implementations in a seamless way. It reduces the amount of required boilerplate code to a minimum by allowing programmers to access foreign functions or objects by using the notation of the host language. We compose language implementations that translate source code to an intermediate representation (IR), which is executed on top of a shared runtime system. Language implementations use language-independent messages that the runtime resolves at their first execution by transforming them to efficient foreign-language-specific operations. The TruffleVM avoids conversion or marshaling of foreign objects at the language boundary and allows the dynamic compiler to perform its optimizations across language boundaries, which guarantees high performance. This paper presents an implementation of our ideas based on the Truffle system and its guest language implementations JavaScript, Ruby, and C.
引用
收藏
页码:78 / 90
页数:13
相关论文
共 50 条
  • [21] A Phonetic Assessment of Cross-Language Voice Conversion
    Yanagisawa, Kayoko
    Huckvale, Mark
    INTERSPEECH 2008: 9TH ANNUAL CONFERENCE OF THE INTERNATIONAL SPEECH COMMUNICATION ASSOCIATION 2008, VOLS 1-5, 2008, : 593 - 596
  • [22] CLEM: A cross-language emotional metanorm in children
    Belmon, Johanne
    Noyer-Martin, Magali
    Jhean-Larose, Sandra
    FIRST LANGUAGE, 2024, 44 (05) : 493 - 506
  • [23] Timing of Translation in Cross-Language Qualitative Research
    Santos, Hudson P. O., Jr.
    Black, Amanda M.
    Sandelowski, Margarete
    QUALITATIVE HEALTH RESEARCH, 2015, 25 (01) : 134 - 144
  • [24] A workflow portal supporting multi-language interoperation and optimization
    Huang, Lican
    Akram, Asif
    Allan, Rob
    Walker, David W.
    Rana, Omer F.
    Huang, Yan
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2007, 19 (12) : 1583 - 1595
  • [25] Cognitive influences on cross-language speech perception in infancy
    Lalonde, CE
    Werker, JF
    INFANT BEHAVIOR & DEVELOPMENT, 1995, 18 (04) : 459 - 475
  • [26] SEMCL: A Cross-Language Semantic Model for Knowledge Sharing
    Guo, Weisen
    Kraines, Steven B.
    INTERNATIONAL JOURNAL OF KNOWLEDGE AND SYSTEMS SCIENCE, 2010, 1 (03) : 1 - 19
  • [27] A Cross-language Corpus for Studying the Phonetics and Phonology of Prominence
    Andreeva, Bistra
    Barry, William
    Koreman, Jacques
    LREC 2014 - NINTH INTERNATIONAL CONFERENCE ON LANGUAGE RESOURCES AND EVALUATION, 2014,
  • [28] Cross-Language Study of Vocal Correlates of Affective States
    Yanushevskaya, Irena
    Chasaide, Ailbhe Ni
    Gobl, Christer
    INTERSPEECH 2008: 9TH ANNUAL CONFERENCE OF THE INTERNATIONAL SPEECH COMMUNICATION ASSOCIATION 2008, VOLS 1-5, 2008, : 330 - 333
  • [29] Cross-language activation of phonology in young bilingual readers
    Debra Jared
    Pierre Cormier
    Betty Ann Levy
    Lesly Wade-Woolley
    Reading and Writing, 2012, 25 : 1327 - 1343
  • [30] STATE MAPPING FOR CROSS-LANGUAGE SPEAKER ADAPTATION IN TTS
    Chen, Yi-Ning
    Jiao, Yang
    Qian, Yao
    Soong, Frank K.
    2009 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, VOLS 1- 8, PROCEEDINGS, 2009, : 4273 - 4276