![]() |
Informative Information for the Uninformed | ![]() |
||||||||||||
![]() |
![]() |
|||||||||||||
![]() ![]() |
![]() |
|
||||||||||||
![]() |
ConsiderationsThis approach is particularly elegant thanks to the concepts of dynamic binary instrumentation and to DynamoRIO itself for providing an elegant framework that supports inserting instrumentation code into the fragment cache. Since DynamoRIO is explicitly designed to be a runtime optimization engine, the fact that the instrumentation code is cached within the fragment cache means that it gains the benefits of DynamoRIO's fragment optimization algorithms. When compared to alternative approaches, this approach also has significantly less overhead once the fragment cache begins to become populated. This is because all of the instrumentation code is placed entirely inline with the application code that is executing rather than having to rely on alternative means of interrupting the normal course of program execution. Still, this approach is not without its set of considerations. Some of these considerations are described below:
|