Skip to main content

A Survey of x86-64 Inline Assembly in C Programs

Rigger, Manuel and Marr, Stefan and Kell, Stephen and Leopoldseder, David and Mössenböck, Hanspeter (2018) A Survey of x86-64 Inline Assembly in C Programs. In: Proceedings of the 14th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. VEE International Conference on Virtual Execution Environments . ACM, New York, USA, pp. 84-99. ISBN 978-1-4503-5579-7. (doi:10.1145/3186411.3186418) (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided) (KAR id:69697)

The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided. (Contact us about this Publication)
Official URL
http://dx.doi.org/10.1145/3186411.3186418

Abstract

C codebases frequently embed nonportable and unstandardized elements such as inline assembly code. Such elements are not well understood, which poses a problem to tool developers who aspire to support C code. This paper investigates the use of x86-64 inline assembly in 1264 C projects from GitHub and combines qualitative and quantitative analyses to answer questions that tool authors may have. We found that 28.1% of the most popular projects contain inline assembly code, although the majority contain only a few fragments with just one or two instructions. The most popular instructions constitute a small subset concerned largely with multicore semantics, performance optimization, and hardware control. Our findings are intended to help developers of C-focused tools, those testing compilers, and language designers seeking to reduce the reliance on inline assembly. They may also aid the design of tools focused on inline assembly itself.

Item Type: Book section
DOI/Identification number: 10.1145/3186411.3186418
Subjects: Q Science > QA Mathematics (inc Computing science)
Divisions: Faculties > Sciences > School of Computing
Depositing User: Stephen Kell
Date Deposited: 25 Jan 2019 16:00 UTC
Last Modified: 23 Jan 2020 04:15 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/69697 (The current URI for this page, for reference purposes)
Marr, Stefan: https://orcid.org/0000-0001-9059-5180
Kell, Stephen: https://orcid.org/0000-0002-2702-5983
  • Depositors only (login required):