History log of /external/lldb/source/Core/ConstString.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
36da2aa6dc5ad9994b638ed09eb81c44cc05540b 25-Jan-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13069948>

Major fixed to allow reading files that are over 4GB. The main problems were that the DataExtractor was using 32 bit offsets as a data cursor, and since we mmap all of our object files we could run into cases where if we had a very large core file that was over 4GB, we were running into the 4GB boundary.

So I defined a new "lldb::offset_t" which should be used for all file offsets.

After making this change, I enabled warnings for data loss and for enexpected implicit conversions temporarily and found a ton of things that I fixed.

Any functions that take an index internally, should use "size_t" for any indexes and also should return "size_t" for any sizes of collections.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
5f35a4be95aed0e5b2cb36f7d785bcbfc67284ae 29-Nov-2012 Daniel Malea <daniel.malea@intel.com> Resolve printf formatting warnings on Linux:
- use macros from inttypes.h for format strings instead of OS-specific types

Patch from Matt Kopec!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
fb2d05b85d8185f06d97d2c5444652fa74c246c3 03-Nov-2012 Enrico Granata <egranata@apple.com> Caught two cases where we were passing a Stream* without checking for NULL

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
851e30ec6a1b1d2c154bb7d69ed0d05b5fd14705 18-Sep-2012 Greg Clayton <gclayton@apple.com> Stop using the "%z" size_t modifier and cast all size_t values to uint64_t. Some platforms don't support this modification.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
49ce8969d3154e1560106cfe530444c09410f217 29-Aug-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11757916>

Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes:
- Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file".
- modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly
- Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was.
- modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile()

Cleaned up header includes a bit as well.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
73844aa19a7360b662e2be710fc3c969d6c86606 22-Aug-2012 Greg Clayton <gclayton@apple.com> Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation:
- no setting auto completion
- very manual and error prone way of getting/setting variables
- tons of code duplication
- useless instance names for processes, threads

Now settings can easily be defined like option values. The new settings makes use of the "OptionValue" classes so we can re-use the option value code that we use to set settings in command options. No more instances, just "does the right thing".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
18ae2b12a1c2b6498890472e70416938f6258d11 09-May-2012 Jim Ingham <jingham@apple.com> Remove the string pool from the global destructor chain so it doesn't get yanked out from under us prematurely on exit.

rdar://problem/11358062

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
86c2e7463b34b5e281d49565bd0bbd7dc03e41ba 12-Sep-2011 Greg Clayton <gclayton@apple.com> Fixed up the comments in the headerdoc to match the current implementation
of how ConstString objects work, and removed the duplicate and out of date
comments that were in the cpp file.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
448bd2fe5693c3ef591743d460b8b830607cfa09 11-Sep-2011 Greg Clayton <gclayton@apple.com> Fixes for Symtab.cpp to take advantage of the new unique C string map
changes that were just submitted.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
d720e014ba0e0e0b7287a95df86cd30959caaa70 10-Jun-2011 Greg Clayton <gclayton@apple.com> Explicitly set the value to NULL when adding a string map entry.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
9d479442c0a521983328faa799883e967a6d5252 10-Jun-2011 Greg Clayton <gclayton@apple.com> I modified the StringMap that was being used to unique our debugger C strings
to have the value for the map be a "const char *" instead of an unused uint32_t.
This allows us to store the uniqued mangled/demangled counterpart in this map
for mangled names. This also speeds up the mangled/demangled counterpart lookup
that used to be maintained in a STL map by having direct access to the data.
If we eventually need to associate other strings to strings to more data, we
can make the value of the StringMap have a more complex value.

Added the start of a history source and history event class. It isn't being
used by anything yet, but might be shortly.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
8de27c761a22187ef63fb60000894be163e7285f 16-Oct-2010 Greg Clayton <gclayton@apple.com> Made many ConstString functions inlined in the header file.

Changed all of our synthesized "___clang" functions, types and variables
that get used in expressions over to have a prefix of "$_lldb". Now when we
do name lookups we can easily switch off of the first '$' character to know
if we should look through only our internal (when first char is '$') stuff,
or when we should look through program variables, functions and types.

Converted all of the clang expression code over to using "const ConstString&"
values for names instead of "const char *" since there were many places that
were converting the "const char *" names into ConstString names and them
throwing them away. We now avoid making a lot of ConstString conversions and
benefit from the quick comparisons in a few extra spots.

Converted a lot of code from LLVM coding conventions into LLDB coding
conventions.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
e33bdd301b775bbcc4526d409bc37b435c02a843 04-Sep-2010 Greg Clayton <gclayton@apple.com> Improved name demangling performance by 20% on darwin.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
54e7afa84d945f9137f9372ecde432f9e1a702fc 09-Jul-2010 Greg Clayton <gclayton@apple.com> Merged Eli Friedman's linux build changes where he added Makefile files that
enabled LLVM make style building and made this compile LLDB on Mac OS X. We
can now iterate on this to make the build work on both linux and macosx.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
8e10cf982d82d57a4927b30ca70e304def959eca 22-Jun-2010 Benjamin Kramer <benny.kra@googlemail.com> Reduce code duplication.

This also moves strlen out of the mutex scope.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp
24943d2ee8bfaa7cf5893e4709143924157a5c1e 08-Jun-2010 Chris Lattner <sabre@nondot.org> Initial checkin of lldb code from internal Apple repo.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Core/ConstString.cpp