Lightweight Generics in Embedded Systems through Static Analysis

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.
Complete list of metadatas

https://hal-lirmm.ccsd.cnrs.fr/lirmm-00693955
Contributor : Olivier Sallenave <>
Submitted on : Thursday, May 3, 2012 - 11:10:27 AM
Last modification on : Thursday, May 24, 2018 - 3:59:22 PM

Identifiers

Collections

Citation

Olivier Sallenave, Roland Ducournau. Lightweight Generics in Embedded Systems through Static Analysis. LCTES'12: Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems, Beijing, China. pp.011-020, ⟨10.1145/2345141.2248421⟩. ⟨lirmm-00693955⟩

Share

Metrics

Record views

121