llvm-project/lldb
Sean Callanan 5a1af4e63a Factored out memory access into the target process
from IRExecutionUnit into a superclass called
IRMemoryMap.  IRMemoryMap handles all reading and
writing, ensuring that areas are kept track of and
memory is properly cached (and deleted).

Also fixed several cases where we would simply leak
binary data in the target process over time.  Now
the expression objects explicitly own their
IRExecutionUnit and delete it when they go away.  This
is why I had to modify ClangUserExpression,
ClangUtilityFunction, and ClangFunction.

As a side effect of this, I am removing the JIT
mutex for an IRMemoryMap.  If it turns out that we
need this mutex, I'll add it in then, but right now
it's just adding complexity.

This is part of a more general project to make
expressions fully reusable.  The next step is to
make materialization and dematerialization use
the IRMemoryMap API rather than writing and
reading directly from the process's memory. 
This will allow the IR interpreter to use the
same data, but in the host's memory, without having
to use a different set of pointers.

llvm-svn: 178832
2013-04-05 02:22:57 +00:00
..
docs Updated the code signing docs. 2013-03-29 17:53:55 +00:00
examples <rdar://problem/13477795> 2013-04-04 23:36:51 +00:00
include Factored out memory access into the target process 2013-04-05 02:22:57 +00:00
lib Fix makefile build by linking needed library 'irreader' 2013-03-28 17:08:09 +00:00
lldb.xcodeproj Factored out memory access into the target process 2013-04-05 02:22:57 +00:00
lldb.xcworkspace Move the performance test cases into their own project. 2013-03-18 23:05:00 +00:00
resources Updated Apple LLDB version to lldb-300.99.0. Also 2013-03-07 22:29:06 +00:00
scripts Modified patch from Prabhat Verma to enable loading core files through the SBTarget API. 2013-03-25 22:40:51 +00:00
source Factored out memory access into the target process 2013-04-05 02:22:57 +00:00
test Fixed the version test for darwin. 2013-04-03 00:04:27 +00:00
tools <rdar://problem/13457391> 2013-04-04 20:35:24 +00:00
utils Minor update to Vim frontend: simplify breakpoints display (and list unresolved breakpoints) 2013-02-12 00:31:40 +00:00
www Minor update to build instructions: workaround a bug in cmake+make build files 2013-04-02 20:08:19 +00:00
.gitignore Remove "llvm" from list of things to ignore. This results in the 2012-03-03 06:43:59 +00:00
CMakeLists.txt Select correct -std flag for CMake for different versions of gcc. 2013-03-21 20:52:53 +00:00
INSTALL.txt Update INSTALL.txt to mention LLDB builds on Linux with GCC or Clang. 2013-02-21 22:37:18 +00:00
LICENSE.TXT
Makefile Fix Linux i386 build 2013-03-07 00:48:53 +00:00