llvm-project/lldb
Sean Callanan 92adcac9ec Implemented a major overhaul of the way variables are handled
by LLDB.  Instead of being materialized into the input structure
passed to the expression, variables are left in place and pointers
to them are materialzied into the structure.  Variables not resident
in memory (notably, registers) get temporary memory regions allocated
for them.

Persistent variables are the most complex part of this, because they
are made in various ways and there are different expectations about
their lifetime.  Persistent variables now have flags indicating their
status and what the expectations for longevity are.  They can be
marked as residing in target memory permanently -- this is the
default for result variables from expressions entered on the command
line and for explicitly declared persistent variables (but more on
that below).  Other result variables have their memory freed.

Some major improvements resulting from this include being able to
properly take the address of variables, better and cleaner support
for functions that return references, and cleaner C++ support in
general.  One problem that remains is the problem of explicitly
declared persistent variables; I have not yet implemented the code
that makes references to them into indirect references, so currently
materialization and dematerialization of these variables is broken.

llvm-svn: 123371
2011-01-13 08:53:35 +00:00
..
docs Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. 2011-01-08 20:28:42 +00:00
examples Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. 2011-01-08 20:28:42 +00:00
include Implemented a major overhaul of the way variables are handled 2011-01-13 08:53:35 +00:00
lib Makefile updates. 2011-01-06 22:11:47 +00:00
lldb.xcodeproj Bumped Xcode project version to 40 for lldb-40. 2011-01-12 04:03:58 +00:00
resources Bumped Xcode project version to 40 for lldb-40. 2011-01-12 04:03:58 +00:00
scripts Patch by Stephen Wilson to make Swig happy building on linux. 2010-12-16 00:01:06 +00:00
source Implemented a major overhaul of the way variables are handled 2011-01-13 08:53:35 +00:00
test Fix wrong test case in main.c. Oops! 2011-01-10 17:44:08 +00:00
tools Bumped Xcode versions to lldb-39 and debugserver-125. 2011-01-10 19:28:56 +00:00
utils The recent change in argument parsing is messing up the emacs lldb mode's capability to properly 2010-12-20 22:58:58 +00:00
www Apply patch from Bruce Mitchener to fix spelling errors. 2011-01-07 17:16:03 +00:00
INSTALL.txt You'll need to be running Mac OS X to get lldb to build right now. 2010-06-09 07:29:26 +00:00
LICENSE.TXT test commit 2010-06-09 03:55:24 +00:00
Makefile Ignore unknown pragmas. 2011-01-06 22:10:24 +00:00