Skip to content
  1. Oct 23, 2012
    • Greg Clayton's avatar
      <rdar://problem/12493007> · 4a792072
      Greg Clayton authored
      Added a new API call to help efficiently determine if a SBValue could have children:
      
           bool
           SBValue::MightHaveChildren ();
           
      This is inteneded to be used bui GUI programs that need to show if a SBValue needs a disclosure triangle when displaying a hierarchical type in a tree view without having to complete the type (by calling SBValue::GetNumChildren()) as completing the type is expensive.
      
      llvm-svn: 166460
      4a792072
  2. Oct 22, 2012
    • Enrico Granata's avatar
      <rdar://problem/12437442> · e3e91517
      Enrico Granata authored
      Given our implementation of ValueObjects we could have a scenario where a ValueObject has a dynamic type of Foo* at one point, and then its dynamic type changes to Bar*
      If Bar* has synthetic children enabled, by the time we figure that out, our public API is already vending SBValues wrapping a DynamicVO, instead of a SyntheticVO and there was
      no trivial way for us to change the SP inside an SBValue on the fly
      This checkin reimplements SBValue in terms of a wrapper, ValueImpl, that allows this substitutions on-the-fly by overriding GetSP() to do The Right Thing (TM)
      As an additional bonus, GetNonSyntheticValue() now works, and we can get rid of the ForceDisableSyntheticChildren idiom in ScriptInterpreterPython
      Lastly, this checkin makes sure the synthetic VOs get the correct m_value and m_data from their parents (prevented summaries from working in some cases)
      
      llvm-svn: 166426
      e3e91517
    • Greg Clayton's avatar
      <rdar://problem/12473003> · 7bc31332
      Greg Clayton authored
      Allow type searches to specify a type keyword when searching for type. Currently supported type keywords are: struct, class, union, enum, and typedef.
      
      So now you can search for types with a string like "struct foo".
      
      llvm-svn: 166420
      7bc31332
  3. Oct 20, 2012
  4. Oct 19, 2012
    • Greg Clayton's avatar
      Added the infrastructure necessary for plug-ins to be able to add their own... · e8cd0c98
      Greg Clayton authored
      Added the infrastructure necessary for plug-ins to be able to add their own settings instead of having settings added to existing ones. In particular "target.disable-kext-loading" was added to "target" where it should actually be specific to the the dynamic loader plugin. Now the plug-in manager has the ability to create settings at the root level starting with "plugin". Each plug-in type can add new sub dictionaries, and then each plug-in can register a setting dictionary under its own short name. For example the DynamicLoaderDarwinKernel plug-in now registers a setting dictionary at:
      
      plugin
          dynamic-loader
              macosx-kernel
                  (bool) disable-kext-loading
                  
      To settings can be set using:
      
      (lldb) settings set plugin.dynamic-loader.macosx-kernel.disable-kext-loading true
      
      I currently only hooked up the DynamicLoader plug-ins, but the code is very easy to duplicate when and if we need settings for other plug-ins.
      
      llvm-svn: 166294
      e8cd0c98
  5. Oct 18, 2012
  6. Oct 17, 2012
  7. Oct 16, 2012
  8. Oct 11, 2012
    • Greg Clayton's avatar
      Fixed an indentation issue that only shows up when dumping .o files that use... · fc6d50e1
      Greg Clayton authored
      Fixed an indentation issue that only shows up when dumping .o files that use linked addresses (DWARF in .o files with debug map).
      
      llvm-svn: 165740
      fc6d50e1
    • Greg Clayton's avatar
      <rdar://problem/12331741> · f0246d15
      Greg Clayton authored
      Dynamic type code must be efficient and fast. Now it is.
      
      Added ObjC v1 support for getting the complete list of ISA values.
      
      The main flow of the AppleObjCRuntime subclasses is now they must override "virtual bool UpdateISAToDescriptorMap_Impl();". This function will update the complete list of ISA values and create ClassDescriptorSP objects for each one. Now we have the complete list of valid ISA values which we can use for verification when doing dynamic typing.
      
      Refactored a bunch of stuff so that the AppleObjCRuntime subclasses don't have to implement as many functions as they used to.
      
      llvm-svn: 165730
      f0246d15
  9. Oct 10, 2012
  10. Oct 09, 2012
  11. Oct 05, 2012
    • Jason Molenda's avatar
      Ran the sources through the compiler with -Wshadow warnings · ccd41e55
      Jason Molenda authored
      enabled after we'd found a few bugs that were caused by shadowed
      local variables; the most important issue this turned up was
      a common mistake of trying to obtain a mutex lock for the scope
      of a code block by doing
      
              Mutex::Locker(m_map_mutex);
      
      This doesn't assign the lock object to a local variable; it is
      a temporary that has its dtor called immediately.  Instead,
      
              Mutex::Locker locker(m_map_mutex);
      
      does what is intended.  For some reason -Wshadow happened to
      highlight these as shadowed variables.
      
      I also fixed a few obivous and easy shadowed variable issues
      across the code base but there are a couple dozen more that
      should be fixed when someone has a free minute.
      <rdar://problem/12437585>
      
      llvm-svn: 165269
      ccd41e55
  12. Oct 04, 2012
  13. Oct 03, 2012
  14. Oct 02, 2012
    • Greg Clayton's avatar
      <rdar://problem/11791234> · 548e9a3e
      Greg Clayton authored
      Shared libraries on MacOSX were not properly being removed from the shared
      module list when re-running a debug session due to an error in:
      
      Module::MatchesModuleSpec()
      
      llvm-svn: 164991
      548e9a3e
  15. Oct 01, 2012
  16. Sep 29, 2012
    • Enrico Granata's avatar
    • Enrico Granata's avatar
      <rdar://problem/12378910> Fixing a potential crasher in the data formatters... · 60b81dff
      Enrico Granata authored
      <rdar://problem/12378910> Fixing a potential crasher in the data formatters where we fail to check for NULL or empty class name
      
      llvm-svn: 164870
      60b81dff
    • Enrico Granata's avatar
      Implementing plugins that provide commands. · 21dfcd9d
      Enrico Granata authored
      This checkin adds the capability for LLDB to load plugins from external dylibs that can provide new commands
      It exports an SBCommand class from the public API layer, and a new SBCommandPluginInterface
      
      There is a minimal load-only plugin manager built into the debugger, which can be accessed via Debugger::LoadPlugin.
      
      Plugins are loaded from two locations at debugger startup (LLDB.framework/Resources/PlugIns and ~/Library/Application Support/LLDB/PlugIns) and more can be (re)loaded via the "plugin load" command
      
      For an example of how to make a plugin, refer to the fooplugin.cpp file in examples/plugins/commands
      
      Caveats:
      	Currently, the new API objects and features are not exposed via Python.
      	The new commands can only be "parsed" (i.e. not raw) and get their command line via a char** parameter (we do not expose our internal Args object)
      	There is no unloading feature, which can potentially lead to leaks if you overwrite the commands by reloading the same or different plugins
      	There is no API exposed for option parsing, which means you may need to use getopt or roll-your-own
      
      llvm-svn: 164865
      21dfcd9d
  17. Sep 28, 2012
  18. Sep 27, 2012
  19. Sep 20, 2012
  20. Sep 19, 2012
  21. Sep 18, 2012
  22. Sep 15, 2012
  23. Sep 14, 2012
  24. Sep 13, 2012
  25. Sep 11, 2012
Loading