|
From: Julian S. <js...@ac...> - 2011-07-12 06:00:04
|
> Is there any way I can get the address stored at those temporaries? Sounds like you're confusing the concepts of JIT-time and run-time. JIT-time is one-time instrumentation of each block, immediately before it is used, and is what you're doing in the code fragment you posted. Run-time is when the instrumented block is run, and can happen any number of times. The addresses in "those temporaries" aren't known until run time, but you are looking at the code at JIT time. What you need to do in your instrumentation routine is insert calls to helper functions (which you'll also need to write) passing to them, the values of the temporaries in which you're interested. Then the helpers will see the actual values. There are undoubtedly examples already in the Callgrind instrumentation function of adding calls to helper functions, if only because Callgrind's cache simulators need to look at each load and store address. Look out for IRDirty and IRStmt_Dirty in the code. J |