Reducing Calling Convention Overhead in Object-Oriented Programming on Embedded ARM Thumb-2 Platforms
This paper examines the causes and extent of code size overhead caused by the ARM calling convention in Thumb-2 binaries. We show that binaries generated from C++ source files generally have higher amounts of calling convention overhead, and present a binary file optimizer to eliminate some of that overhead. Calling convention overhead can negatively impact power consumption, flash memory costs, and chip size in embedded or otherwise resource-constrained domains. This is particularly true on platforms using "compressed" instruction sets, such as the 16-bit ARM Thumb and Thumb-2 instruction sets, used in virtually all smartphones and in many other smaller-scale embedded devices. In this paper, we examine the extent of calling convention overhead in practical software, and compare the results of C and C++ programs, and find that C++ programs generally have a higher percentage of calling-convention overhead. Finally, we demonstrate a tool capable of eliminating some of this overhead, particularly in the case of C++ programs, by modifying the calling conventions on a per-procedure basis.
this URL might only work when visiting from a http://www.sigplan.org/ URL.
Tue 24 Oct
|10:30 - 10:55|
|DOI Authorizer link Media Attached|
|10:55 - 11:20|
Reducing Calling Convention Overhead in Object-Oriented Programming on Embedded ARM Thumb-2 PlatformsDOI Authorizer link
|11:20 - 11:45|
Arsène Pérard-GayotSaarland University, Germany, Martin WeierBonn-Rhein-Sieg University of Applied Sciences, Germany, Richard MembarthDFKI, Germany, Philipp SlusallekDFKI, Germany, Roland LeißaSaarland University, Germany, Sebastian HackSaarland University, GermanyDOI Authorizer link
|11:45 - 12:00|
Adilla SusungiMINES ParisTech, France, Norman A. RinkTU Dresden, Germany, Jeronimo CastrillonTU Dresden, Germany, Immo HuismannTU Dresden, Germany, Albert CohenInria, France / ENS, France, Claude TadonkiMINES ParisTech, France, Jörg StillerTU Dresden, Germany, Jochen FröhlichTU Dresden, GermanyDOI Authorizer link