- Mar 19, 2013
-
-
Sean Callanan authored
and the JITted code are managed by a standalone class that handles memory management itself. I have removed RecordingMemoryManager and ProcessDataAllocator, which filled similar roles and had confusing ownership, with a common class called IRExecutionUnit. The IRExecutionUnit manages all allocations ever made for an expression and frees them when it goes away. It also contains the code generator and can vend the Module for an expression to other clases. The end goal here is to make the output of the expression parser re-usable; that is, to avoid re-parsing when re-parsing isn't necessary. I've also cleaned up some code and used weak pointers in more places. Please let me know if you see any leaks; I checked myself as well but I might have missed a case. llvm-svn: 177364
-
- Mar 14, 2013
-
-
rdar://problem/13421412Greg Clayton authored
Many "byte size" members and variables were using a mixture of uint32_t and size_t. Switching over to using uint64_t everywhere. llvm-svn: 177091
-
Sean Callanan authored
when clang asked for them by name. llvm-svn: 177085
-
- Mar 12, 2013
-
-
Sean Callanan authored
uninitialized memory, to getTrivialTypeSourceInfo, which initializes its memory, when creating trivial TypeSourceInfos. <rdar://problem/13332253> llvm-svn: 176899
-
Matt Kopec authored
llvm-svn: 176879
-
- Mar 10, 2013
-
-
Sylvestre Ledru authored
Match the new declaration of clang::ASTContext::getFunctionType introduced in clang r176726. Fix the build of lldb llvm-svn: 176790
-
- Mar 09, 2013
-
-
Sean Callanan authored
noisy when dealing with anonymous structs. <rdar://problem/13246914> llvm-svn: 176738
-
- Mar 08, 2013
-
-
Sean Callanan authored
counters for a variety of metrics associated with expression parsing. This should give some idea of how much work the expression parser is doing on Clang's behalf, and help with hopefully reducing that load over time. <rdar://problem/13210748> Audit type search/import for expressions llvm-svn: 176714
-
- Mar 06, 2013
-
-
Andrew Kaylor authored
llvm-svn: 176578
-
Sean Callanan authored
make it more obvious what's going on. llvm-svn: 176575
-
Andrew Kaylor authored
llvm-svn: 176574
-
- Mar 04, 2013
-
-
rdar://problem/13338643Greg Clayton authored
DWARF with .o files now uses 40-60% less memory! Big fixes include: - Change line table internal representation to contain "file addresses". Since each line table is owned by a compile unit that is owned by a module, it makes address translation into lldb_private::Address easy to do when needed. - Removed linked address members/methods from lldb_private::Section and lldb_private::Address - lldb_private::LineTable can now relink itself using a FileRangeMap to make it easier to re-link line tables in the future - Added ObjectFile::ClearSymtab() so that we can get rid of the object file symbol tables after we parse them once since they are not needed and kept memory allocated for no reason - Moved the m_sections_ap (std::auto_ptr to section list) and m_symtab_ap (std::auto_ptr to the lldb_private::Symtab) out of each of the ObjectFile subclasses and put it into lldb_private::ObjectFile. - Changed how the debug map is parsed and stored to be able to: - Lazily parse the debug map for each object file - not require the address map for a .o file until debug information is linked for a .o file llvm-svn: 176454
-
- Mar 02, 2013
-
-
Jim Ingham authored
Calculate "can branch" using the MC API's rather than our hand-rolled regex'es. As extra credit, allow setting the disassembly flavor for x86 based architectures to intel or att. <rdar://problem/11319574> <rdar://problem/9329275> llvm-svn: 176392
-
- Feb 28, 2013
-
-
Sean Callanan authored
- made sure we tell Clang not to try to complete the type since it can't be completed from its origin any more; and - fixed a silly bug where we tried to forget about the original decl's origins rather than the deported decl's origin. These produced some crashes in ptr_refs, especially under libgmalloc. <rdar://problem/13256150> llvm-svn: 176233
-
- Feb 27, 2013
-
-
Matt Kopec authored
llvm-svn: 176206
-
- Feb 23, 2013
-
-
rdar://problem/13265297Greg Clayton authored
StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Modified all existing code to properly set the bool argument. llvm-svn: 175953
-
- Feb 22, 2013
-
-
Matt Kopec authored
llvm-svn: 175829
-
Andrew Kaylor authored
On x86-64 platforms, the small code model assumes that code will be loaded below the 2GB boundary. With the static relocation model, the fact that the expression code is initially loaded (in the LLDB debugger address space) above that boundary causes problems. Switching to the JITDefault code model causes the large code model to be used for 64-bit targets and small code model of 32-bit targets. llvm-svn: 175828
-
- Feb 21, 2013
-
-
Sean Callanan authored
<rdar://problem/13254824> llvm-svn: 175806
-
Daniel Malea authored
- generate-vers.pl has to be called by cmake to generate the version number - parallel builds not yet supported; dependency on clang must be explicitly specified Tested on Linux. - Building on Mac will require code-signing logic to be implemented. - Building on Windows will require OS-detection logic and some selective directory inclusion Thanks to Carlo Kok (who originally prepared these CMakefiles for Windows) and Ben Langmuir who ported them to Linux! llvm-svn: 175795
-
Sean Callanan authored
work on i386. Now we let the JIT emit SSE/SSE2 instructions on i386. <rdar://problem/13240476> llvm-svn: 175700
-
- Feb 20, 2013
-
-
Andrew Kaylor authored
llvm-svn: 175671
-
- Feb 16, 2013
-
-
Sean Callanan authored
- removed an unnecessary variable - fixed an issue where we sometimes wrote too much data into a buffer - made the recognition of variables as "this" a little more conservative <rdar://problem/13216268> llvm-svn: 175318
-
- Feb 14, 2013
-
-
Filipe Cabecinhas authored
llvm-svn: 175213
-
Greg Clayton authored
llvm-svn: 175108
-
- Feb 13, 2013
-
-
rdar://problem/13210494Greg Clayton authored
Parse objective C information as efficiently as possible and without taking dangerous runtime locks. Reworked the way objective C information is parsed by: 1 - don't read all class names up front, this is about 500K of data with names 2 - add a 32 bit hash map that maps a hash of a name to the Class pointer (isa) 3 - Improved name lookups by using the new hash map 4 - split up reading the objc runtime info into dynamic and shared cache since the shared cache only needs to be read once. 5 - When reading all isa values, also get the 32 bit hash instead of the name 6 - Read names lazily now that we don't need all names up front 7 - Allow the hash maps to not be there and still have this function correctly There is dead code in here with all of the various methods I tried. I want to check this in first to not lose any of it in case we need to revert to any of the extra code. I will promptly cleanup and commit again. llvm-svn: 175101
-
Sean Callanan authored
builtins. <rdar://problem/13204027> llvm-svn: 175091
-
- Feb 12, 2013
-
-
Sean Callanan authored
changing the ClangASTSource to return a bool instead of returning a list of results. Our testsuite mostly works with this change, but some minor issues may remain both on LLDB's side and on Clang's side. llvm-svn: 174949
-
Sean Callanan authored
up variables in the current stack frame to avoid mutual recursion between the expression parser and the synthetic child providers. Variables should only be looked up in a very simple way, using no synthetic anything. <rdar://problem/13173454> llvm-svn: 174947
-
- Feb 09, 2013
-
-
Jim Ingham authored
Reworked the way Process::RunThreadPlan and the ThreadPlanCallFunction interoperate to fix problems where hitting auto-continue signals while running a thread plan would cause us to lose control of the debug session. <rdar://problem/12993641> llvm-svn: 174793
-
- Feb 07, 2013
-
-
- Feb 01, 2013
-
-
Jim Ingham authored
be "signed char" not "int". <rdar://problem/13131126> llvm-svn: 174209
-
Sean Callanan authored
support reporting "this" as a templated class. The expression parser wraps expressions in C++ methods as methods with the signature $__lldb_class::$__lldb_expr(...) and previously responded to clang's queries about $__lldb_class with the type of *this. This didn't work if *this was a ClassTemplateSpecializationDecl because ClassTemplateSpecializationDecls can't be the result of simple name queries. Instead what we do now is respond that $__lldb_class is a typedef and that the target of the typedef is the (potentially templated) type of *this. That is much more robust. Thanks to John McCall for key insights. <rdar://problem/10987183> llvm-svn: 174153
-
- Jan 31, 2013
-
-
Jim Ingham authored
Add "thread return -x" to unwind the innermost user called expression (if you happen to have stopped in it due to a crash.) Make the message when you hit an crash while evaluating an expression a little clearer, and mention "thread return -x". rdar://problem/13110464 llvm-svn: 174095
-
- Jan 29, 2013
-
-
rdar://problem/13107904Greg Clayton authored
wchar_t causes problem with certain compilers. Removing it for now. llvm-svn: 173823
-
Greg Clayton authored
llvm-svn: 173731
-
- Jan 28, 2013
-
-
Greg Clayton authored
Always define types from stdint.h so they are always available for use in expressions no matter what debug info you have. Types added are: int8_t uint8_t int16_t uint16_t int32_t uint32_t int64_t uint64_t intptr_t uintptr_t size_t ptrdiff_t whar_t llvm-svn: 173724
-
- Jan 25, 2013
-
-
rdar://problem/13069948Greg Clayton authored
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. llvm-svn: 173463
-
- Jan 22, 2013
-
-
Sean Callanan authored
Avoids an error about an ambiguous constructor call. llvm-svn: 173118
-
- Jan 19, 2013
-
-
Sean Callanan authored
in an Objective-C class method. Before, errors of the form error: cannot find interface declaration for '$__lldb_objc_class' would appear when running any expression when the current frame is a block that captures 'self' from an Objective-C class method. <rdar://problem/12905561> llvm-svn: 172880
-