Skip to content
  1. Feb 16, 2013
  2. Feb 14, 2013
  3. Feb 13, 2013
    • Greg Clayton's avatar
      <rdar://problem/13210494> · a66c4d96
      Greg 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
      a66c4d96
    • Sean Callanan's avatar
      Made NULL, nil, and Nil use the appropriate · d7739824
      Sean Callanan authored
      builtins.
      
      <rdar://problem/13204027>
      
      llvm-svn: 175091
      d7739824
  4. Feb 12, 2013
  5. Feb 09, 2013
  6. Feb 07, 2013
  7. Feb 01, 2013
  8. Jan 31, 2013
  9. Jan 29, 2013
  10. Jan 28, 2013
  11. Jan 25, 2013
    • Greg Clayton's avatar
      <rdar://problem/13069948> · c7bece56
      Greg 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
      c7bece56
  12. Jan 22, 2013
  13. Jan 19, 2013
  14. Jan 18, 2013
  15. Jan 16, 2013
    • Sean Callanan's avatar
      ClangExpressionVariable previously was not capable of · 3c495c18
      Sean Callanan authored
      handling multiple clients.  However, occasionally an
      expression must be run in the service of another
      expression, and in this case two parsers need to access
      the same list of persistent variables.
      
      To allow this, persistent variables now provide state
      for multiple parsers, and parsers must allocate, access,
      and deallocate this state by providing their own ID
      (at the moment, simply the value of the "this" pointer).
      
      <rdar://problem/12914539>
      
      llvm-svn: 172573
      3c495c18
  16. Jan 15, 2013
    • Jim Ingham's avatar
      Separated the "expr --unwind-on-error" behavior into two parts, actual errors... · 184e9811
      Jim Ingham authored
      Separated the "expr --unwind-on-error" behavior into two parts, actual errors (i.e. crashes) which continue to be
      controlled by the --unwind-on-error flag, and --ignore-breakpoint which separately controls behavior when a called
      function hits a breakpoint.  For breakpoints, we don't unwind, we either stop, or ignore the breakpoint, which makes
      more sense.  
      Also make both these behaviors globally settable through "settings set".
      Also handle the case where a breakpoint command calls code that ends up re-hitting the breakpoint.  We were recursing
      and crashing.  Now we just stop without calling the second command.
      
      <rdar://problem/12986644>
      <rdar://problem/9119325>
      
      llvm-svn: 172503
      184e9811
  17. Jan 14, 2013
  18. Jan 09, 2013
  19. Jan 02, 2013
  20. Dec 21, 2012
  21. Dec 20, 2012
    • Sean Callanan's avatar
      This patch removes the SymbolFileSymtab support · 7be70e85
      Sean Callanan authored
      for reporting class types from Objective-C runtime
      class symbols.  Instead, LLDB now queries the 
      Objective-C runtime for class types.
      
      We have also added a (minimal) Objective-C runtime
      type vendor for Objective-C runtime version 1, to 
      prevent regressions when calling class methods in
      the V1 runtime.
      
      Other components of this fix include:
      
      - We search the Objective-C runtime in a few more
        places.
      
      - We enable enumeration of all members of
        Objective-C classes, which Clang does in certain
        circumstances.
      
      - SBTarget::FindFirstType and SBTarget::FindTypes
        now query the Objective-C runtime as needed.
      
      - I fixed several test cases.
      
      <rdar://problem/12885034>
      
      llvm-svn: 170601
      7be70e85
  22. Dec 18, 2012
  23. Dec 14, 2012
  24. Dec 11, 2012
    • Sean Callanan's avatar
      Fixed the IRInterpreter's handling of "this" and · 496970f6
      Sean Callanan authored
      "self" when those pointers are in registers.
      Previously in this case the IRInterpreter would
      handle them just as if the user had typed in
      "$rdi", which isn't safe because $rdi is passed
      in through the argument struct.
      
      Now we correctly break out all three cases (i.e.,
      normal variables in registers, $reg, and this/self),
      and handle them in a way that's a little bit easier
      to read and change.
      
      This results in more accurate printing of "this" and
      "self" pointers all around.  I have strengthened the
      optimized-code test case for Objective-C to ensure
      that we catch regressions in this area reliably in
      the future.
      
      <rdar://problem/12693963>
      
      llvm-svn: 169924
      496970f6
  25. Dec 07, 2012
    • Daniel Malea's avatar
      Fix a few more clang (3.2) warnings on Linux: · a85e6b6c
      Daniel Malea authored
      - remove unused members
      - add NO_PEDANTIC to selected Makefiles
      - fix return values (removed NULL as needed)
      - disable warning about four-char-constants
      - remove unneeded const from operator*() declaration
      - add missing lambda function return types
      - fix printf() with no format string
      - change sizeof to use a type name instead of variable name
      - fix Linux ProcessMonitor.cpp to be 32/64 bit friendly
      - disable warnings emitted by swig-generated C++ code
      
      Patch by Matt Kopec!
      
      llvm-svn: 169645
      a85e6b6c
    • Jim Ingham's avatar
      Now that we set ThreadPlanCallFunction to private in the constructor, it is... · 95afbf51
      Jim Ingham authored
      Now that we set ThreadPlanCallFunction to private in the constructor, it is confusing that we set it
      again in client code after creating the plans.  So remove those unnecessary calls.
      
      llvm-svn: 169625
      95afbf51
  26. Dec 06, 2012
  27. Dec 05, 2012
  28. Dec 01, 2012
  29. Nov 29, 2012
  30. Nov 28, 2012
  31. Nov 27, 2012
    • Greg Clayton's avatar
      <rdar://problem/12106825> · 3d51b9f9
      Greg Clayton authored
      Allow the expression parser to see more than just data symbols. We now accept any symbol that has an address. We take precautions to only accept symbols by their mangled or demangled names only if the demangled name was not synthesized. If the demangled name is synthesized, then we now mark symbols accordingly and only compare against the mangled original name. 
      
      llvm-svn: 168668
      3d51b9f9
Loading