• Media type: E-Article
  • Title: Instruction punning: lightweight instrumentation for x86-64
  • Contributor: Chamith, Buddhika; Svensson, Bo Joel; Dalessandro, Luke; Newton, Ryan R.
  • Published: Association for Computing Machinery (ACM), 2017
  • Published in: ACM SIGPLAN Notices, 52 (2017) 6, Seite 320-332
  • Language: English
  • DOI: 10.1145/3140587.3062344
  • ISSN: 0362-1340; 1558-1160
  • Keywords: Computer Graphics and Computer-Aided Design ; Software
  • Origination:
  • Footnote:
  • Description: Existing techniques for injecting probes into running applications are limited; they either fail to support probing arbitrary locations, or to support scalable, rapid toggling of probes. We introduce a new technique on x86-64, called instruction punning, which allows scalable probes at any instruction. The key idea is that when we inject a jump instruction, the relative address of the jump serves simultaneously as data and as an instruction sequence. We show that this approach achieves probe invocation overheads of only a few dozen cycles, and probe activation/deactivation costs that are cheaper than a system call, even when all threads in the system are both invoking probes and toggling them.