M. Springer, Andrew Krieger, Stanislav Manilov, H. Masuhara
{"title":"dart2java: Running Dart in Java-based Environments","authors":"M. Springer, Andrew Krieger, Stanislav Manilov, H. Masuhara","doi":"10.1145/3098572.3098575","DOIUrl":null,"url":null,"abstract":"We present the design and implementation of dart2java, an experimental Dart to Java compiler. It is implemented in Dart and currently supports many but not all Dart language constructs. dart2java is a playground to evaluate performance implications of running Dart code on the JVM and to investigate if it is possible to write Dart code in a largely Java-dominated environment. This paper describes the architecture of dart2java, performance optimizations such as non-nullability of primitive types and generic specialization (and their implications), as well as ideas for language interoperability, i.e., calling Java code from Dart and vice versa.","PeriodicalId":368815,"journal":{"name":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3098572.3098575","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We present the design and implementation of dart2java, an experimental Dart to Java compiler. It is implemented in Dart and currently supports many but not all Dart language constructs. dart2java is a playground to evaluate performance implications of running Dart code on the JVM and to investigate if it is possible to write Dart code in a largely Java-dominated environment. This paper describes the architecture of dart2java, performance optimizations such as non-nullability of primitive types and generic specialization (and their implications), as well as ideas for language interoperability, i.e., calling Java code from Dart and vice versa.
本文介绍了一个实验性的Dart to Java编译器dart2java的设计和实现。它是用Dart实现的,目前支持许多但不是全部的Dart语言结构。dart2java是一个平台,用于评估在JVM上运行Dart代码的性能影响,并研究是否有可能在主要由java主导的环境中编写Dart代码。本文描述了dart2java的体系结构,性能优化,如基本类型的非空性和泛型专用性(及其含义),以及语言互操作性的思想,即从Dart调用Java代码,反之亦然。