Search the web
Sign In
New User? Sign Up
pinheads · Pin Dynamic Binary Instrumentation Tool
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
High pin overhead on Windows   Message List  
Reply | Forward Message #4075 of 4500 |
Re: [pinheads] Re: DynamoRIO tool platform now open source under BSD license

On Fri, Jul 3, 2009 at 7:54 AM, Godmar Back <godmar@...> wrote:

Robert is correct that there's an common vs. uncommon question when at least some of the states is accessed most of the time, but clever design of data structures might be able to ameliorate that. It's clear that what Pin currently does - inlining dozens of instructions to pass the state to an outlined function - is very inexpensive and led to the 3x slowdown. ("complex inlinable functions" notwithstanding.)

Typed too fast here: meant "is very expensive and led to the 3x orders of mag slowdown".  We disassembled at the time what Pin was emitting.

Thinking about this some more; all you'd need to do is keep track of a map that maps "original reg" -> "reg used in emitted code."  Whenever the mapping changes, create a new map.  There will be only this many. Intern them. Then break your trace into sections, each section corresponding to one map. Store a simple array with pointers to the map. Then all you need to pass to the instrumentation code is an index into the map. Constant cost, no matter how much state is accessed. Registers can be read with 2-3 loads. You could use pseudo-intrinsics, such as _get_eax() in the instrumentation code.

 - Godmar



Fri Jul 3, 2009 2:09 pm

godmarback
Offline Offline
Send Email Send Email

Forward
Message #4075 of 4500 |
Expand Messages Author Sort by Date

... It's expensive only if you think within the current design constraints of Pin. To me, logic dictates that whatever information you have when you emit the ...
Godmar Back
godmarback
Offline Send Email
Jul 3, 2009
11:54 am

... Typed too fast here: meant "is very expensive and led to the 3x orders of mag slowdown". We disassembled at the time what Pin was emitting. Thinking about...
Godmar Back
godmarback
Offline Send Email
Jul 3, 2009
2:11 pm

Ø To me, logic dictates that whatever information you have when you emit the instrumented code is information you can store and make accessible later. Thus,...
Cohn, Robert S
rscohn2000
Offline Send Email
Jul 3, 2009
2:33 pm
 First  |  |  Next > Last 
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help