This change allocates a full 64-bit entry in the IPC structure, and adds a new 32-bit quantity to encode the type and size - eliminating the packed 40-bit optimization that only applies when we know that the 64-bit addresses lie within these 40 bits. This change should correct Pin memory address traces.
For Pin, it's impossible to directly limit the number of bits of address space that will be used by the program. So we need a way in MemoryState to represent the full 64 bits of address space without actually mapping all 64 bits of memory (which is impossible with mmap). To do this, add a linked list of SparseArray objects that maps from the top set of bits to a SparseArray. The StateArray stored in the link is the same as previous. Update iterators and pages to correctly report addresses when using the linked list. This change slows down updateAddress() by roughly 25% for the test program.
This change extends the valgrind/Makefile to include downloading, patching, and building the valgrind tool. Additionally, it's no longer necessary to install the valgrind tool since we can use VALGRIND_LIB to look for the tool in the source tree if the memview binary is not installed.
Use dynamic allocation to copy the loaded blocks since this improves performance when blocks have less than MV_BlockSize entries. The initial block size in the tool is now set to 1, and is updated when it receives the first token from memview.
This change still has some display issues due to alignment mismataches, and a crash in linear mode.
This change uses ptrace() to extract the contents of the displayed memory and shows it as rendered text in the viewer.
…his should help normalize display between systems with differing performance.
Give a MV_ prefix to names in mv_ipc.h. git-svn-id: svn+ssh://truffle/home/andrew/repo/memview@132 6d4121a9-3ab8-48c6-8db9-97dca464e206
except for a template for future work. git-svn-id: svn+ssh://truffle/home/andrew/repo/memview@124 6d4121a9-3ab8-48c6-8db9-97dca464e206
fix a memory leak when it's replaced. git-svn-id: svn+ssh://truffle/home/andrew/repo/memview@109 6d4121a9-3ab8-48c6-8db9-97dca464e206
…tup. git-svn-id: svn+ssh://truffle/home/andrew/repo/memview@66 6d4121a9-3ab8-48c6-8db9-97dca464e206
git-svn-id: svn+ssh://truffle/home/andrew/repo/memview@50 6d4121a9-3ab8-48c6-8db9-97dca464e206
… the rendered region. git-svn-id: svn+ssh://truffle/home/andrew/repo/memview@36 6d4121a9-3ab8-48c6-8db9-97dca464e206