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 条
  • [41] Self-Supervised Cross-Language Scene Text Editing
    Yang, Fuxiang
    Su, Tonghua
    Zhou, Xiang
    Di, Donglin
    Wang, Zhongjie
    Li, Songze
    PROCEEDINGS OF THE 31ST ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA, MM 2023, 2023, : 4546 - 4554
  • [42] Cross-language Sentiment Classification Based on Support Vector Machine
    Ma, Hongxia
    Zhang, Yangsen
    Du, Zhenlei
    2015 11TH INTERNATIONAL CONFERENCE ON NATURAL COMPUTATION (ICNC), 2015, : 507 - 513
  • [43] Clustering synonymous English and Chinese keywords for cross-language queries
    Chen, Rung-Ching
    Huang, Chung-Yi
    Huang, Yu-Len
    PROCEEDINGS OF 2007 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND CYBERNETICS, VOLS 1-7, 2007, : 1875 - +
  • [44] A Cross-Language Name Binding Recognition and Discrimination Approach for Identifiers
    Ju, Yue
    Tang, Yixuan
    Lan, Jinpeng
    Mi, Xiangbo
    Zhang, Jingxuan
    2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING, SANER, 2023, : 948 - 955
  • [45] Cross-Language Phonemisation In German Text-To-Speech Synthesis
    Steigner, Jochen
    Schroeder, Marc
    INTERSPEECH 2007: 8TH ANNUAL CONFERENCE OF THE INTERNATIONAL SPEECH COMMUNICATION ASSOCIATION, VOLS 1-4, 2007, : 833 - +
  • [46] A Preliminary Cross-Language Investigation of Empathy in # Disability Discourse on Twitter
    AlMeraj, Zainab
    Husain, Fatemah
    PROCEEDINGS OF THE 16TH ACM INTERNATIONAL CONFERENCE ON PERVASIVE TECHNOLOGIES RELATED TO ASSISTIVE ENVIRONMENTS, PETRA 2023, 2023, : 675 - 679
  • [47] Cross-Language Speech Emotion Recognition Via Multiple Kernel Learning
    Zha, Cheng
    2019 INTERNATIONAL CONFERENCE ON SMART GRID AND ELECTRICAL AUTOMATION (ICSGEA), 2019, : 208 - 209
  • [48] C4: Contrastive Cross-Language Code Clone Detection
    Tao, Chenning
    Zhan, Qi
    Hu, Xing
    Xia, Xin
    30TH IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2022), 2022, : 413 - 424
  • [49] Mining Software Information Sites to Recommend Cross-Language Analogical Libraries
    Nafi, Kawser Wazed
    Asaduzzaman, Muhammad
    Roy, Banani
    Roy, Chanchal K.
    Schneider, Kevin A.
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 913 - 924
  • [50] The open runtime platform: a flexible high-performance managed runtime environment
    Cierniak, M
    Eng, M
    Glew, N
    Lewis, B
    Stichnoth, J
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2005, 17 (5-6) : 617 - 637