Affiliation:
1. Cortus, Montpellier, France and LIRMM -- CNRS and Université Montpellier
2. LIRMM -- CNRS and Université Montpellier
Abstract
Low-end embedded systems are still programmed in C and assembly, and adopting high-level languages such as C# should reduce the length of their development cycles. For these systems, code size is a major concern, but run-time efficiency should also be reasonable --- programmers will not migrate to C# unless the overhead compared with C is insignificant. In this paper, we propose a static approach based on whole program optimization for implementing .Net generics in such systems. Indeed, the implementation of run-time generics involves a tradeoff between size and run-time efficiency. In this proposal, generic instances are detected through a generalization of RTA to parametric polymorphism. Also, we propose an implementation scheme which employs code sharing and more effective coercions than boxing. Unlike existing implementation schemes, it is scalable in the number of generic instances without involving boxing and unboxing in a systematic way.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. On the use of generic types for smart contracts;Cluster Computing;2022-08-09
2. Compiler-assisted object inlining with value fields;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
3. Miniboxing;ACM SIGPLAN Notices;2013-11-12
4. Miniboxing;Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications;2013-10-29