Many thanks for the quick reply! IARG_REG_REFERENCE does indeed work. I can determine when instructions read or write various FP registers. Since I can work...
A way to think about it is that pin saves all the floating point registers in memory before calling your analysis function, and then restores them all after it...
The class ALARM_ICOUNT states that it "Signals an alarm when the specified number of instructions has been executed" However, I don't understand the term...
Apologies for the poor english. I did not write that comment, but I will try to fix it. The comment was most likely cut-and-paste from another alarm that uses...
Pin provides an architectural view of the application, not a micro-architectural view. Therefore, instrumentation attached to an instruction only gets...
It seems to work for me. For example, I can do this on Linux: $ pin -t icount.so -- /bin/sort < in > out The "/bin/sort" program takes its input from "in" and...
Each process runs in a separate copy of Pin with its own copy of your tool. Your tool can use the API PIN_AddForkFunction() to be notified of when the...
OS: Windows XP PIN Version: pin-2.5-22117-msvc8-ia32_intel64-windows I'm running into a problem running our pintool on a customer's application. I'm getting...
Dear All, (Question suggested by Jim Cownie, Intel UK) Consider the situation where we want to instrument the code block A only when it is executing in the...
... Unfortunately, I made a big mistake when I claimed IARG_REG_REFERENCE works on IA64. It does not, for FP registers, and fails with the same "IARG_REG_VALUE...
In my pintool, I'm replacing function Foo() with my own function myFoo() using RTN_ReplaceSignature(). myFoo is as follows: myFoo() { ... bar() ... } ...
Greg, For the instruction INS_IsMemoryWrite(ins), will it catch every memory write? If not, what will it catch or not catch? I'm assuming it will not catch...
Hi, It is my understanding that all the instrumentation in pin has to be done withing a function. Hence, there is an overhead of a function call every time...
Regarding the paper "Persistent Code Caching: Exploiting Code Reuse Across Executions and Applications"... Does anyone know if there any plans to incorporate...
We do not plan to release it. Robert ________________________________ From: pinheads@yahoogroups.com [mailto:pinheads@yahoogroups.com] On Behalf Of tkbryanty ...
hi, I am getting this memory error: "E:Unexpected memory deallocation request of aligned memory 0xb7c4b364" After using MEMLOG to save and restore the contents...
This is usually caused by an invalid memory write from the tool that corrupts the header pin adds to memory allocation requests. Pin notices that the header is...
just to clarify, is this memory header added to memory allocation requests made by the instrumented application or the memory allocation requests made by the...
It is an allocation by pin or your tool, not the application. Try to simplify your tool and see if the bug goes away. That is usually a clue about what is...
Sorry, I saw that you already answered that question after I posted. However, would it be easy to extend the code caching API to permit others to implement ...
Hi Paruj, I'm not sure what technique you're using now, but here's one that has decent performance. The basic idea is that you use one of Pin's virtual...
Pin automatically inlines analysis functions if it thinks it will improve performance. Currently, Pin will decide to inline a function if it is short and has...
? However, would it be easy to extend the code caching API to permit others to implement similar functionality? No, pin has lots of pointer to code cache...
You can use the API PIN_CallApplicationFunction() to do what you want. The example program "ToolUnitTests/jitmalloctrace.cpp" does something very similar to...
Hi Greg, Thanks a lot! Cheers, Paruj ... has decent performance. The basic idea is that you use one of Pin's virtual registers (e.g. REG_INST_G0) as a flag...