cs8803SC_lecture18

cs8803SC_lecture18 - CS8803SC Software and Hardware...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CS8803SC Software and Hardware Cooperative Computing Pin Software Architecture Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology Review Pin • Pin – Binary instrumentation tool – Can be used as a profiler, trace generator, trace analyzer, architecture simulator Instrumentation routines define where instrumentation is inserted Analysis routines define what to do when instrumentation is activated
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Today’s Goal • Pin’s architecture – C.-K. Luk, et al. “Pin: Building customized program analysis tools with dynamic instrumentation,” PLDI’05 Pin Software Architecture
Background image of page 2
3 Injecting Pin • The injector loads Pin into the address space of an application. • Unix Ptrace API • Pin loads Pintool into the address space and starts it running. • Pin creates the initial context and starts jitting the application at the entry point JIT Compiler • Pin compiles from one ISA to the same Isa w/o an intermediate format • One trace at a time • Compiled code is stored at the code cache • Each exit initially branches to a “ stub • Stub: redirects the control to the VM • VM determines the target address
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 11

cs8803SC_lecture18 - CS8803SC Software and Hardware...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online